解决为什么每次打开eclipse新建workspace的workspace需要更新nexus-maven

【技术水】Maven入门(in Eclipse IDE)_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:522,285贴子:
【技术水】Maven入门(in Eclipse IDE)收藏
一楼不给看
java,就业薪资高,发展前景好,零基础入学,120天入门到精通.线上线下学习任你选,先就业后付款,学员尊享-名企入职通道.先就业后付款!
下午说我写个eclipse版本的简单教程,不食言,教程来了。NetBeans版本的传送门:准备事宜:eclipse或者myeclipse一个,需要安装maven插件如果不安装maven插件,自己下载maven版本解压到本地,eclipse/myeclipse也是可以使用非插件版本的maven的。附上maven的下载地址:ps如果使用非插件版本的maven,需要配置maven的环境变量,配置如下变量名:M2_HOME变量值:C:\apache-maven-3.0.5(这个是我的解压目录,请自行修改自己的)变量名:path值:%M2_HOME%\bin(学过java的应该知道path里面有很多其他的值,请自行追加)配置完以后,打开cmd,输入mvn -v如果出现以下画面则说明maven的环境变量配置成功了
打开eclipse或者myeclipse配置maven插件,我用的是myeclipse版本,eclipse的位置应该大同小异,找到maven选项即可。大家看到我的myeclipse自带了一个版本为3.0.2的maven,但是我真正使用的是自己下载并解压到c盘的maven3.0.5
下面说下怎么用eclipse建立一个简单的maven项目右键,选择new,选other,过滤器中输入maven,出现以下画面,选中maven project,然后点next下一步后,选择使用默认的工作空间即可(当然你也可以改),再下一步出现了一个打包类型,如果是普通项目,需要打包成jar文件的,选择quickstar即可(也是默认选中的选项)。如果是web项目,需要打包成war包,请选择webapp。这里为了简单演示,就选默认的选完以后,next出现项目配置。Group Id通常为组织名,在公司常规的命名方式是公司域名后缀+公司名如com.baidu com.google org.spring之类之类的artifact id通常为项目名,也是项目打包以后出现的包的名称version为该项目打包的版本号,默认是0.0.1快照版本点finish就会自动构建一个maven项目,结构如下。带一个main/java的主程序包和一个test/java的测试程序包一个pom.xml文件
路过打打酱油
然后让我们来打开这个maven的核心配置文件pom.xml看看里面有什么,打开方式选择Maven Pom Editor就能看到如下的样子注意下面有5个选项标签overview,是项目信息纵览dependencies,是项目引入的jar包dependency hierarchy,是项目引入的jar包的互相的依赖关系effective pom,实话是,这个是干啥我也不清楚,反正我用的少。。。。pom.xml,就是这个配置文件的全部内容了下面展示下怎么在项目中添加一个jar包,有2种方式,先介绍第一种。打开dependencies标签,选择中间的add按钮出现这个弹窗,他让你填需要引入的jar包的信息,那如何才能知道自己想引入的jar的信息呢?这时候就要找到maven的中央仓储了。附上传送门:比如,我要引入sping的包,请在最上面的位置直接搜spring然后找到需要的jar包,如Spring Context,点击进入(广告请无视。。。。)然后就能看到该jar的所有的正式发布的版本。我看有个最新的4.0.0。貌似不错,就你了。点击进入。能看到这个画面,在这就能找到这个jar所有的信息,如groupId,artifactId,version还有该jar包所依赖的的必须的包以及包的最低版本然后回到eclipse,依次填入这些信息,点击ok然后就能看到控制台,maven在为我们下载该jar包和该jar包所依赖的其他的jar包进度走完以后,能看到我们只填了一个jar的信息,maven会自动下载所依赖的最少jar包,并自动引入项目中。
下面说下第二种添加jar包的方式,同时也是最常用的方式。就是复制这段信息然后在eclipse中,打开pom.xml标签,直接粘贴进去,保存即可。。。
下面介绍下使用maven编译打包项目的常用的命令选中maven项目,右键run,选择maven build,出现下面的对话框其中goals可以填一些自己的参数。如测试,安装,清理,发布,打包。测试:test。maven会使用test/java下面的代码全部运行来测试项目是否正确(前提是你每写一个方法/类,都需要写对应的测试方法)清理:clean。maven会清理该项目所产生的所有class文件。打包:package。maven会根据项目的类型来生成对应的包。如quickstar则是jar包,webapp是war包。安装:install。在本地仓库安装这个项目的jar包。通常是为了方便其他项目引用该项目。发布:deploy。如果使用了nexus等maven本地中央仓储管理系统,则使用该命令,会将该项目的包发布至nexus远程仓库。方便其他人来更新你所发布的包。(这个是公司内部常用的命令之一,毕竟是多人开发的项目)自己测试,玩玩的话,用clean和package就差不多了
上海java培训,选达内,美国上市教育机构,「java培训之父」Sun认证,先就业后付款!达内java培训,名师授课,0基础120天速成java工程师,0元试学!学习+认证+就业=薪前景!
既然提到了nexus,那我顺便连这个一起讲了吧。。。。说了一堆maven的好处,但是maven还是有几个小弊端的。第一个就是所有的jar你都得从maven的中央仓库去下载,一个人的话其实倒也无所谓,反正都要下载,但是如果是一个公司,几百个开发人员,你把项目中的pom.xml更新一下,然后其他所有的开发人员都要连接maven远端的中央仓库去下载这个jar,这对带宽是极大的浪费第二个是更大的问题,公司内部的项目,想用maven管理,并且需要发布到一个仓库,供其他部门或者其他项目组的人使用,这时候怎么办?总不能把项目打包发布到maven的公共仓库去吧(maven的公共仓库也不允许你发布上去)这时候急需一个能代替maven中央仓库的本地仓库的管理工具,能完美替代maven中央仓库的功能。它,就是nexus先附上传送门:下载下来以后,解压到任意目录,然后使用cmd进入C:\nexus-2.6.4-02\bin目录(目录自己改)输入nexus.bat能看到以下画面它会提示你能用的操作,那么首先我们需要安装nexus服务(win7以上系统请用管理员权限启动cmd,不然服务安装不了)命令格式 nexus.bat install这时候提示nexus服务安装完毕,打开系统的服务,看下是否存在该服务。能看到该服务是已经安装好了,并且默认是自动启动的,你要觉得没必要的话,可以改成手动启动,需要的时候再启动nexus然后说下其他几个命令的作用console表示以控制台的方式启动nexus服务(可以看到输出日志)install表示安装nexus服务start表示启动nexus服务stop表示停止nexus服务uninstall表示卸载nexus服务
服务启动以后,在浏览器输入以下地址就能看到nexus仓库了这时候注意右上角,有个log in默认的用户名密码是admin admin123以管理员身份登录以后会看到左侧标签有一些变化,新增了一些管理功能点中第一个Repositories,这时候能看到你用nexus管理的仓库的样子这时候的仓库是个空的仓库,如果是使用服务器来做整个项目组的统一的仓库,这时候就需要同步nexus和maven中央仓库了,这样以后项目组通过配置本地maven文件就能优先从这个nexus仓库中下载jar包,节省了带宽,而且项目的jar包也会默认发布到该nexus上面。(怎么配置maven的配置文件稍后说)同步maven中央仓库的方法,选中Public Repositories,在下面的标签选中configuration这里默认是订阅这4个maven远端的仓库,直接点save即可。然后选中central,选brownse storage,展开以后就能看到maven远端仓库所有的jar包了。
下面说下怎么配置本地maven,将maven连上该nexus仓库。大家还记得这个位置吧,下面有个使用的配置文件的位置。好的,打开这货。然后找到mirrors标签这个默认是注释掉了,我们来打开这个注释并配置镜像。有几个标签是要填的id是这个镜像的id,随便填一个就行,这里我们填nexusname是这个镜像的名字,随意mirrorOf是哪些jar需要从这个镜像下载,填*即可url是镜像的路径,填即可,如果是公司服务器,请自行修改ip和端口
下面说下如何将自己的项目发布至该nexus服务器首先需要在nexus中建立自己的仓库点add,选择新增一个hosted repository在下面的deployment policy选择 allow redeployrepository policy选择SNAPSHOT点击save建立完成。修改本地maven的配置文件添加服务器id配置,用户名和密码在项目的pom.xml中添加如下配置注意,这个发布的仓库的id要跟maven配置文件的id一致,这个仓库的url来源是nexus给出的,如图配置好以后,选中maven项目,右键run,选择maven build,出现下面的对话框因为我们需要把该项目发布至nexus中,所以参数填deploy看控制台跑完信息,打印出以下信息就是成功发布了。可以看到一些上传的信息然后我们去nexus仓库中查看,是否已经发布至仓库了这时候查看我们的仓库,发现刚刚的项目的jar包已经发布至该服务器了,选中该jar包以后,右边会显示该jar包的maven引用xml的配置,这时候复制这个配置至其他项目的pom.xml文件,即可自动下载该项目的jar包并引用。===============================全文暂时完===========================
下午说的多写点专题介绍和技术介绍,这个能勉强算数吧我写了好久好久啊,边写边截图累死了。。。。
睡觉去,有疑问明天睡醒了再解答
看完了,好顶赞
最后简单介绍下版本相关。大家看自己键的仓库选中的是SNAPSHOT说明这个仓库只能接受快照版本的发布,与这个对应的版本是正式版如果要发布正式版,请再建立一个仓库,这个仓库允许接受release版本。发布的正式版本会发布到这个仓库中,nexus会根据你编写的版本号分别维护多份jar包。而SNAPSHOT版本默认只维护一份最新的版本
发现我熬夜写了2个小时的教程没人看,我还是水吧
突然想到,这个能精否
还没到这种地步
lz,为什么我新建Maven项目时出现如下错误:求解?
可怜的楼主 才这么几个回复
好帖,才看到
支持一下。真正的技术贴啊
正好需要,这个要顶一下。
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&解决为什么每次打开Eclipse新的workspace需要更新nexus-maven-repository-index有关问题 - 操作系统当前位置:& &&&解决为什么每次打开Eclipse新的workspace需要更新ne解决为什么每次打开Eclipse新的workspace需要更新nexus-maven-repository-index有关问题&&网友分享于:&&浏览:294次解决为什么每次打开Eclipse新的workspace需要更新nexus-maven-repository-index问题
解决为什么每次打开Eclipse新的workspace需要更新nexus-maven-repository-index问题
新建一个Eclipse的workspace。
打开Window—&Preferences,如下图所示:
打开Preferences后,点击Maven,可以看到右边Maven下的Download repository index updates on startp。取消该项的勾选,点击Apply后点击OK即可。如下图所示:
在之前已经有下载好的repository index 已有工作空间下,找到\.metadata\.plugins\org.maven.ide.eclipse\nexus。把该目录下的central文件夹整个复制到新建的workspace下对应的\.metadata\.plugins\org.maven.ide.eclipse\nexus\目录下。替代原系统自动生成的central文件夹及其内容。
完成以上步骤,下面我们来进行手动设置nexus-maven-repository-index更新。打开Eclipse的Window—&Show View—&Other…,如下图所示:
打开后,找到Maven,点击就可以看到Maven Indexes,选中点击OK进入。如下图所示:
下面就自动出现视图窗口,里面应该有好三列记录,分别是workspace, local和central,分别对应了该工程的java代码,本地MAVEN库和官方库。如下图所示:
选中local并点击右键,会出现Update Index,点击Update Index,即完成了手动更新nexus-maven-repository-index,不用再从远程官方库来下载了。
以上这些步骤就解决了每次新建一个工作空间,Eclipse自动从官方库下载nexus-maven-repository-index的问题了。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有> pom资料更新后eclipse 中jar同步更新(maven with nexus)
pom资料更新后eclipse 中jar同步更新(maven with nexus)
lbxc2651 & &
发布时间: & &
浏览:2 & &
回复:0 & &
悬赏:0.0希赛币
pom文件更新后eclipse 中jar同步更新(maven with nexus)
  eclipse 中加入M2_REPO变量后,能用.m2目录下maven 本地库的jar进行编译避免报错。
  但此过程中我遇到一个问题:更新pom 里的jar 后,执行maven命令 也从服务器上吧jar 下载到了本地,但eclipse项目中的jar 没更新,点右键刷新项目,does't work. rebuilt , 徒劳。想尽办法还是不行。
  最后想到不通过eclipse 层面解决了,通过maven 试试。 于是把项目eclipse:clean (执行mvn clean eclipse:clean)了一下,又重新生成的eclipse项目,jar 更新了! 而且以前旧版本的jar 也未引入。可以让它们安居在.m2下 ,incase 以后别的项目用得到。
  总结:maven 通过pom生成eclipse 项目,并加入eclipse中M2_REPO所能引入的jar信息。你可能会想到:当更新pom后以前的jar还存在在本地目录下, 在eclipse中引入.m2下所有的jar时eclipse中会产生冲突。这个担心是徒劳,因为M2_REPO变量并不是指向了所有的jar, 而是pom中指定的(指定时间在maven 把项目生成eclipse项目时)。
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 eclipse workspace 的文章

 

随机推荐