不知道原文是不是这个地址,但是我是从
这里看见的.
前段时间研究过一下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,找到<proxies>,将原来注释掉的<proxy>打开,修改相应的信息即可。
注意:
1.)<host>iproxy-sh.cn.ao.ericsson.se</host> 这里不要用"http://"开头,否则会无法连接
2. ) 如果用户名、密码不需要,可以删除<username><password>,设置为空也行。
二. 安装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文件
加入两行代码,注意不要写在一行,否则无法生效。
-vm
C:"aoxj"soft"java"jdk"jdk67"bin"javaw
2.设置installedJRE
直接进入eclipse的设置,在installedJRE中加入新的jre指向jdk,然后将默认的jre删除。
四. 技巧小结
这几天的摸索中,发现一些maven和m2eclipse的使用小技巧,总结下来主要有以下几点:
1. repositories设置不要放到项目的pom.xml文件中
在使用Artifactory搭建私服后,肯定是需要将repositories设置为我们的私服地址的。下面的这段代码就可以完成我们
的需要:
<repositories>
<repository>
<id>artifactory</id>
<name>local private artifactory</name>
<url>http://127.0.0.1:8081/artifactory/repo/</url>
</repository>
</repositories>
但是这段代码放到哪里比较好呢?按照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设置:
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
当然要先设置好对应的profile,对于简单场景,一个就足够了,这里我指向我搭建在本机的私服:
<profile>
<id>artifactory</id>
<repositories>
<repository>
<id>artifactory</id>
<name>local private artifactory</name>
<url>http://127.0.0.1:8081/artifactory/repo/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>artifactory</id>
<name>local private artifactory</name>
<url>http://127.0.0.1:8081/artifactory/plugins-releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
顺便提一下settings.xml文件中localRepository的设置,这个设置用来知名localRepository的目录,默认不打开,使用默认值
~/.m2/repository,个人不喜欢,我就直接修改为固定位置:
<localRepository>G:/soft/maven/localRepository</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的差异就可以不需要设置这个参数。
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>5.8</version>
<classifier>jdk15</classifier>
</dependency>
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中的<proxies>。但是这个是不够的,必须要再 在<remoteRepository>中明确用<proxyRef>指明使用哪个代理,格式参考如下:
<remoteRepository>
.........
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
<proxyRef>your-proxy</proxyRef>
</remoteRepository>
proxies中key要对应好
<proxies>
<proxy>
<key>your-proxy</key>
......
</proxies>
五. 比较有价值的参考资料
陆续google到的一些资料,比较好.
maven官网的资料
很全,很完整,非常值得看一遍,只是有点太多了,挺耗时间。而且是英文,暂时没有知道对应的中文版本。
一些细碎的资料,主要是blog之类
1) maven settings.xml
http://blog.csdn.net/totogogo/archive/2007/12/18/1946691.aspx
2) Maven dependency and repository
http://blog.csdn.net/totogogo/archive/2007/12/20/1956381.aspx
3) maven profiles
http://blog.csdn.net/totogogo/archive/2007/12/19/1953379.aspx
相关推荐
《Maven中文指导》是一本专为学习Maven的中文读者量身打造的参考书籍,旨在帮助那些在英语资源中感到困扰的朋友更好地理解和掌握Maven这一强大的项目管理和构建工具。Maven通过自动化构建过程,使得Java项目的构建、...
在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它的核心功能包括项目的构建、依赖管理和项目信息管理。然而,对于习惯于使用Eclipse IDE开发Web项目的开发者来说,Maven项目可能会显得...
《PDF文档 Maven权威指南_中文完整版清晰》是一部深入解析Apache Maven的综合性教程,旨在帮助Java开发者全面理解并熟练运用Maven这一强大的项目管理和构建工具。本指南覆盖了Maven的基础概念、核心功能以及高级应用...
本资源包含"Maven的中文文档"和"Maven 3.3.5绿色版",旨在帮助中国开发者更好地理解和使用这一强大的工具。 首先,让我们深入了解Maven的核心概念。Maven基于项目对象模型(Project Object Model,POM),这是一个...
3. **生命周期(Life Cycle)**:Maven有一套预定义的构建生命周期,包括编译、测试、打包、验证、部署等阶段,开发者可以根据需要调用相应的阶段。 4. **插件(Plugins)**:Maven通过插件实现具体任务,如编译源...
"最好用的maven3"这一标题表明了Maven 3版本因其高效和易用性而备受推崇。本文将深入探讨Maven 3的核心特性、安装配置、以及如何利用它进行项目的构建与管理。 ### 1. Maven 3 的核心特性 - **项目对象模型 ...
《Maven实战》是一本深度解析Maven3的中文书籍,旨在帮助读者全面掌握这款强大的Java项目管理和构建工具。本书高清且完整,是学习Maven技术的重要参考资料。 Maven是Apache软件基金会开发的一个项目管理工具,它以...
4. **生命周期 (LifeCycle)**: Maven有三个主要的生命周期,分别是clean、default和site。default生命周期包含编译、测试、打包、验证、部署等阶段。 5. **插件 (Plugins)**: Maven通过插件执行各种构建任务,如...
《Maven权威指南中文完整版清晰》是一本深入解析Maven构建工具的教程,它为Java开发者提供了详尽的指导,帮助他们理解和掌握Maven的使用。Maven是Apache软件基金会开发的一个项目管理工具,主要用于Java项目的构建、...
《Maven实战》是一本专为Java开发人员设计的指南,深入浅出地介绍了Maven这一强大的项目管理和构建工具。Maven是Apache软件基金会开发的一个开源项目,它以XML文件格式定义项目,能够自动化构建、依赖管理和项目信息...
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
【Maven很Maven仓库】这个标题暗示了讨论的核心是关于Maven以及它与Maven仓库的关系。Maven是一个在Java开发中广泛使用的项目管理和综合工具,它通过一个声明式的配置来管理项目的构建、报告和文档。Maven仓库则是...
5. **生命周期**:Maven有三个主要的生命周期,分别是compile、test和install,每个生命周期包含一系列阶段(phase),如编译阶段、测试阶段等。 **二、Maven的工作流程** 1. **解析POM**:Maven读取项目的POM,...
【标题】"maven之开源中国Maven库" 指的是使用 Maven,一个流行的Java项目管理和集成工具,与开源中国的Maven仓库进行交互。开源中国Maven库是中国的一个开源软件资源平台,提供了大量的开源Java库,使得开发者可以...
maven教程,目录如下: Maven安装配置 Maven启用代理访问 Maven本地资源库 Maven中央存储库 如何从Maven远程存储库下载?...Eclipse创建一个Maven Web项目 在易百教程网看到的,觉得还不错,就做成了chm笔记本形式
Apache Maven 是一个强大的项目管理工具,它主要用于Java项目的构建、依赖管理和项目信息管理。Maven 3.2.5是该工具的一个版本,发布于2014年,旨在提高构建效率,增强稳定性,并修复了前一版本的一些已知问题。 在...
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。 Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,...
Maven是Java世界中的一款强大的项目管理和构建工具,它极大地简化了软件项目的构建、依赖管理和生命周期过程。Maven 3.8版本是该工具的一个重要更新,提供了更多的优化和改进,旨在提升开发效率和稳定性。 Maven的...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...