初学maven(2)-maven/artifactory/m2eclipse安装全过程

前段时间研究过一下maven,中途因为工作忙搁置了一段时间,重新再看时发现安装过程基本忘光。只好找资料看然后再来一遍,将maven,artifacTory和m2eclipse安装使用的全过程记录整理出来,备忘。另外我想这些资料应该比较适合maven的入门新手,照做一遍就可以完成三个东西的安装设置,然后就可以学习和使用了。

一. 安装maven

安装官方标准的安装方式(http://maven.apache.org/download.html#Installation)安装,步骤如下

1. 下载解压缩apache-maven-2.0.9-bin.zip到安装目录

2. 增加环境变量M2_HOME,指向maven的安装目录,注意不能以”/”结尾

3. 增加(可选)maven环境变量MAVEN_OPTS,值为”-Xms256m -Xmx512m”,后续可以增加其他

4. 修改Path,增加%M2_HOME%/bin到Path路径中

5. 确保JAVA_HOME环境变量存在并正确设置,确保%JAVA_HOME%/bin目录在Path路径中

安装完毕后,在命令行执行”mvn –version”检测maven是否正确安装。

补充:

1. 如果是使用代理上网,需要在maven的配置文件加入相应的代理信息

否则会报错:

The pulgin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or valid version could be found     ......

解决方法:

打开文件 maven/conf/settings.xml,找到,将原来注释掉的打开,修改相应的信息即可。

注意:

1.)iproxy-sh.cn.ao.ericsson.se 这里不要用”http://”开头,否则会无法连接

2. ) 如果用户名、密码不需要,可以删除,设置为空也行。

二. 安装ArtifacTory

按照官方文档,http://wiki.jfrog.org/confluence/display/RTF/Installing, 标准安装,简单说就是三步:

1. 下载并解压缩最新版本的artifacTory-1.3.0-beta-2.zip

2. 双击bin目录下的artifacTory.bat文件,启动artifacTory。

注意必须保证JAVA_HOME正确设置,并且jdk的版本是5.0或更高。

3. 用浏览器打开http://localhost:8081/artifacTory,使用admin/password登录

配置ArtifacTory,在ArtifacTory安装目录下的etc目录下,比较常用的是修改jetty.xml中的端口设置,将默认的8081端口

修改为其他。还有如果ArtifacTory是需要使用代码连接网络,需要修改artifacTory.config.xml中的proxies。

三. 安装m2eclipse插件

参照官网文档http://m2eclipse.codehaus.org/。

找了一下没有zip下载,只能用eclipse通过update site下载安装,无法使用我最喜欢的link方式,有些遗憾。

安装地址如下:

http://m2eclipse.sonatype.org/update/

更新后会自动变成三个site,一个不可用,另外两个版本同步,有新旧两个版本可以选择,当然选最新的一个200807**的版本。

安装好后,就可以使用m2eclipse插件为项目增加pom.xml文件了。有了m2eclipse的图形界面使得操作显得很简单,容易理解和掌握。

update 20081128:

升级操作系统到vista,jdk到6.7,eclipse到3.4后,安装新版本的maven,一切正常,但是启动时会弹出窗口,说maven

需要eclipse在jdk下运行,而不应该是jre(奇怪以前安装时怎么没有这种要求,难道是新版本引入的新功能?)。按照提示给出的建议进行以下操作:

1.要求修改eclipse.ini文件

加入两行代码,注意不要写在一行,否则无法生效。

-vmC:/aoxj/soft/java/jdk/jdk67/bin/javaw

2.设置installedJRE

直接进入eclipse的设置,在installedJRE中加入新的jre指向jdk,然后将默认的jre删除。

四. 技巧小结

这几天的摸索中,发现一些maven和m2eclipse的使用小技巧,总结下来主要有以下几点:

1. reposiTories设置不要放到项目的pom.xml文件中

在使用ArtifacTory搭建私服后,肯定是需要将reposiTories设置为我们的私服地址的。下面的这段代码就可以完成我们

的需要:

            artifacTory       local private artifacTory       http://127.0.0.1:8081/artifacTory/repo/        

但是这段代码放到哪里比较好呢?按照maven的设置,可以放到%MAVEN_HOME%/conf/settings.xml, ~/.m2/settings.xml和

项目的pom.xml文件中,上面三个设置可以覆盖,pom.xml中设置是最直接了当的。但是考虑到reposiTories信息是完全有

可能变化的,尤其是使用私服,万一公司的私服换个地址难道所有项目的pom.xml文件都设置一遍? 还有pom.xml文件是用

来保存当前项目的多种依赖信息的,reposiTories信息应该和当前具体项目没有直接联系。因此不应该放到pom.xml文件中。

尤其在pom.xml文件需要保存到cvs,subversion等版本控制系统中,可变的reposiTories信息就更不合适保存了。

因此需要将reposiTories信息设置在%MAVEN_HOME%/conf/settings.xml或~/.m2/settings.xml,这样就足够灵活了。

实践中发现一个比较奇怪的地方,我使用的是maven2.0.9版本,修改%MAVEN_HOME%/conf/settings.xml设置居然无效,只能

copy一份到~/.m2/settings.xml(这个文件默认是不会自动建立的),然后修改就可以正常生效了。没有查清楚原因,好在

这两个地方对我没有实质区别,放~/.m2/也能接受,只是要记得备份一次避免重装系统时被删除。

2. settings.xml设置reposiTories的最简单方式

发现最简单的办法就是打开settings.xml文件最下面的activeProfiles设置:

       artifacTory    

当然要先设置好对应的profile,对于简单场景,一个就足够了,这里我指向我搭建在本机的私服:

    artifacTory                artifacTory       local private artifacTory       http://127.0.0.1:8081/artifacTory/repo/                         artifacTory       local private artifacTory       http://127.0.0.1:8081/artifacTory/plugins-releases                false                 

顺便提一下settings.xml文件中localReposiTory的设置,这个设置用来知名localReposiTory的目录,默认不打开,使用默认值

~/.m2/reposiTory,个人不喜欢,我就直接修改为固定位置:

G:/soft/maven/localReposiTory

3. dependency的classifier必须正确设置

在下载testng时出现问题,始终无法从官网下载testng的jar包,但是可以下载到testng-5.8.pom文件。反复查找才发现是

testng的jar包是区分jdk版本的,大家从这里可以看到

http://repo1.maven.org/maven2/org/testng/testng/5.8/

testng的jar包是有1.4和1.5的两种下载。增加classifier设置制定具体jdk版本之后就可以正常工作了。

当然如果artifact没有jdk的差异就可以不需要设置这个参数。

       org.testng       testng       5.8       jdk15    

4. groupId和artifactId的获取方式

使用maven,很直接就会遇到这个问题,到底这个东西的groupId和artifactId是什么呢?总不能瞎猜吧?

这里推荐这个artifact查询网站http://mvnreposiTory.com/,可以查找到25000+个artifact的信息,基本我们能用到的都

有了。

结合官网http://repo1.maven.org/maven2/ 页面,基本可以搞定所有问题。上面testng需要设置classifier的问题我就是看到

http://repo1.maven.org/maven2/org/testng/testng/5.8/这个页面后才发现问题所在的。

5. attifacTory的http proxy设置

上面attifacTory安装时简单的介绍了一下 的http proxy设置,需要修改artifacTory.config.xml中的。但是这个是不够的,必须要再在中明确用指明使用哪个代理,格式参考如下:

       .........       http://people.apache.org/repo/m2-snapshot-reposiTory       your-proxy    

proxies中key要对应好              your-proxy       ......    

五. 比较有价值的参考资料

陆续Google到的一些资料,比较好.

maven官网的资料

很全,很完整,非常值得看一遍,只是有点太多了,挺耗时间。而且是英文,暂时没有知道对应的中文版本。

我知道我不是一个很好的记录者,但我比任何人都喜欢回首自己来时的路,

初学maven(2)-maven/artifactory/m2eclipse安装全过程

相关文章:

你感兴趣的文章:

标签云: