Maven|关于maven工具的配置和使用
关于maven工具的配置和使用 - 卫斯理 - 51Testing软件测试网 - Powered by X-Space
关于maven工具的配置和使用
上一篇 / 下一篇 2008-07-09 17:44:26 / 个人分类:项目管理
关于maven的配置和使用,网上有很多资料可供参考,这里是将我的使用心得以及配置中遇到的问题和疑惑整理了一下,希望对大家有所帮助。
1、maven的配置
1)、maven的配置必须建立在jdk1.4版本基础上,即必须先配置jdk环境。
2)、maven无须安装,从网上下载后,直接解压到本地就可以了。
3)、maven配置完毕后,用maven -version命令来检测是否安装成功。
2、maven的settings.xml修改
1)、在<localrespository>...</localrespository>标签中设置本地的版本库路径,例如<localrespository>d:/repo</localrespository>
本地版本库用来存放你从远端版本库中下载的jar包。路径可以是空的文件夹,必须要存在。如果不设置,那么maven默认为.m2/respository的路径。
2)、如果机器能够上网,那么无须配置代理,如果须代理上网的话,必须配置<proxy>..</proxy>,例如:
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username></username>
<password></password>
<host></host>
<port></port>
nonProxyHosts>local.net,some.host.com</nonProxyHosts>
</proxy>
3)、如果需要从局域网内访问本地服务器上的版本库,那么可以设置<mirror>…</mirror>,例如
<mirror>
<id>planetmirror.com</id>
<name>test</name>
<url>…. </url>
<mirrorOf>central</mirrorOf>
</mirror>
注意<url>…. </url>里填写你服务器的访问地址,这里地址可以用apache或者tomcat来做为你的中心版本库的应用。
<mirrorOf>central</mirrorOf>中必须写成central。
3、maven的使用
1)、建立项目框架
Maven archetype:generate
根据你的需求选择不同的选项,建立项目框架,比如默认值15表示建立纯JAR项目,18表示建立WEB项目。每个选项涉及到的JAR包都会不一样,建立成功后,maven会自动将你所需的JAR包和依赖文件按照maven的格式下载到你的本地版本库中,本地版本库路径就是你刚才设的<localrespository>...</localrespository>
项目groupId输入你组织得结构
Archename输入你的项目名
版本号你可以默认,也可以按照公司的规定来定
包结构名根据公司规定来定
注意:maven生成的项目框架只是比较粗略的,开发人员开需自己去完善,不过记住千万不能删除原有的框架中的东西。
项目建立成功后,会发现在该项目下生成pom.xml文件。
2)、常用命令
2.1、Maven compile(编译)
2.3、Maven package(打包)
注意:以上命令必须在项目下运行,打包命令会自动帮你运行编译和测试,没有问题后,方才帮你打包。打包的路径放在target文件夹下。
2.4、Maven site(生成网站)
该命令的好处在于你配置的东西可以在该网站上一目了然的显示出来。
2.5、Maven eclipse:eclipse(生成eclipse能够认识的格式)
如果你想让eclipse开发工具能够认可你的项目框架,必须使用该命令来转换,运行该命令后,会在该项目下自动生成.project和.classpath两个文件。
该命令的还有一个好处在于,你配置了dependence后,可以通过该命令来下载jar包。
3)、修改pom.xml
该文件是专门管理项目的,与远程服务器沟通主要是通过该文件的配置。
3.1、dependence的配置
你刚建立的项目,只包含一个junit的jar包,如果你想增加新的jar包,只能通过<dependence>..</dependence>标签里添加,然后用maven eclipse:eclipse命令帮你下载。Dependence的输写格式见下:
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1</version>
</dependency>
注意格式必须符合maven的包结构关系才能正确下载。如果不是很清楚,可以到远端版本库参考。
此外,上述方法是手动添加法,你可以通过eclipse上的maven插件来自动添加。
如果远程版本库都没有的jar包,只能自己从网上下载后,按照maven的包结构格式,手动添加到本地的中心版本库里。
3.2、项目组织的配置
<organization>
<name>公司名称</name>
<url>公司网址</url>
</organization>
3.3、项目组成员的配置
<developers>
<developer>
<id>3000</id>
<name>name</name>
<email>…</email>
<url>….</url>
<organization>….</organization>
<organizationUrl>….</organizationUrl>
<roles>
<role>……</role>
</roles>
<timezone>-6</timezone>
</developer>
</developers>
3.4、持续集成管理的配置
<ciManagement>
<system>continuum</system>
<url>http://服务器IP:8081/continuum</url>
<notifiers>
<notifier>
<type>mail</type>
<sendOnError>true</sendOnError>
<sendOnFailure>true</sendOnFailure>
<sendOnSuccess>false</sendOnSuccess>
<sendOnWarning>false</sendOnWarning>
<configuration>
<address>。。。。。。</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
配置持续集成管理的方法是下载apache-continuum-1.1软件,然后无需配置直接运行bin\windows-x86-32\run.bat命令,启动成功后,输入http://服务器IP:8081/continuum地址,输入用户名和密码就可以。
配置持续集成管理的好处在于能够按照你的计划帮你从版本控制工具中checkout来编译和打包。该功能必须与<scm>…..</scm>标签配合起来使用。
3.5、版本控制工具的配置
我们用的是CVS
<scm>
<connection>
scm:cvs:pserver:username@服务器IP:/版本库文件夹:项目名
</connection>
</scm>
3.6、本地版本库伺服器的配置
我们采用artifactory软件工具,好处在于当开发人员无法从本地中心版本库中取得所需的jar包时,maven会自动向artifactory来请求jar包,从而杜绝本地中心版本库不全造成的开发人员无法获得资源的弊端。本地中心版本库的配置在前面的settings.xml中<mirror>...</mirror>中配置。参照前面。
artifactory下载后,无需配置直接运行bin文件夹下的artifactory.bat,正常启动后,在IE浏览器中输入http://服务器地址:port/artifactory,输入admin和password后,成功登陆后就可以了。
注意:artifactory必须安装在能够上网的机器上,如果需要设置代理上网的话,必须在/etc/artifactory.config.xml增加代理配置,例如:
<proxies>
<proxy>
<key>unused-proxy</key>
<host>代理IP</host>
<port>端口号</port>
<username>用户名</username>
<password>密码</password>
<domain>你服务器的名称</domain>
</proxy>
</proxies>
以上配置完毕后,在pom.xml中加入如下的配置,这样本地再向中心版本库请求jar包时,无法获得时,maven 会自动向artifactory请求。
- <repositories>
<repository>
<id>artifactory</id>
<name>your local artifactory</name>
<url>http://localhost:8081/artifactory/repo</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>artifactory</id>
<name>your local artifactory</name>
<url