最近做自动化测试,框架中涉及到Maven,因此进行了简单的了解,这里对自己学习过程中Maven的部署与集成做一个总结。
----基础环境信息----
个人PC:Win8.1 64位
JAVA环境:JDK1.8 (已配置)
Eclipse:Luna Service Release (4.4.1)
Maven:3.2.5 http://apache.dataguru.cn/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.zip
一、配置Maven环境变量
Maven下载后解压到指定路径即可
配置Maven环境变量与配置jdk类似
以win8.1为例:
传统桌面--win+x键--按Y打开”系统“--高级系统设置--环境变量--在系统变量新建
变量名:M3_HOME
变量值:Maven根目录,如我的maven解压在D:\Program Files\Maven\,下,maven根目录为D:\Program Files\Maven\apache-maven-3.2.5
然后在path环境变量最后追加maven的bin路径;%M3_HOME%\bin(分号不要重复)
重启电脑,使修改的环境变量生效
-------------------------------------------
另一种即时生效的环境变量配置方法:
进入命令行:win+r打开运行,cmd回车
配置M3_HOME:set M3_HOME=yourMavenPath
检查结果:echo %M3_HOME
path追加manven\bin:set path=%path%;%M3_HOME%\bin
检查结果:echo %path%
--------------------------------------------
检查环境配置是否正确完成:在CMD窗口输入:mvn -v查看版本信息
二、自定义仓库位置
在maven根目录\conf下的settings.xml文件中可以自定义仓库位置,用于存放项目依赖的所有jar包,例(可以看到原文件中已经给出了格式和说明):
设置完成后可以运行mvn help:system查看当前所有系统信息,首次运行该命令将会自动下载mvn-help-plugin以及junit等默认的的pom文件和jar到本地仓库,可以在配置的本地仓库路径中查看到新增的文件
三、第一个项目
下面通过命令行方式创建我们的第一个maven项目:
先cd到项目要存放的目录,然后运行命令:mvn archetype:generate -DgroupId=yourgroupid -DartifactId=yourartifactid -DpackageName=yourpackagename
其中groupID,artifactId,packageName等等将在项目的pom.xml文件中体现
例:
初次构建时会通过网络自动从maven中央仓库下载需要的依赖包,所以视网络情况可能需要几分钟时间。
中间会出现几个需要确认的地方(下图标注),可以直接回车确认,
完成后将打印出项目信息:例:
其中version在创建项目的命令中没有指定,因此保持默认,创建项目时可以通过 -Dversion=youversion来指定版本号
至此,我们可以在指定的basedir目录下看到以artifactId为名的项目文件夹,例:
接下来将项目构建为可以导入eclipse的格式:
先使用clean进行构建之前的清理工作(建议养成构建前clean的习惯,以避免项目构建时出现疑难杂症,主要是针对已编译过的项目):进入到项目根目录,运行mvn clean compile,同样的,初次运行讲通过网络下载依赖包。
然后执行命令eclipse:eclipse将项目构建为适合倒入到eclipse的结构。
构建完成后将打印编译后文件存放路径,至此我们的第一个maven项目构建完成,可以在项目目录中查看以maven基础规约结构呈现的项目,下面开发老友eclipse即将出场
四、Maven项目导入Eclipse与配置更新
这里使用的近期的eclipse版本,已经集成的maven插件,若使用未默认集成maven的,需要自行安装.
File--import--maven-Existing Maven Projects--next
选择要导入的项目根目录,点击Finish完成导入:
可以看到已经成功导入,该项目中已经预置一个经典Hello world!用于测试:
我们发现刚才构建的maven项目并不是基于我本地的jdk1.8,而是默认的1.5,若要让我们创建的maven项目基于指定版本的jdk,有两种方式:
方式1:
在maven安装目录conf下的settings.xml中配置,这将对之后构建的所有maven项目生效
配置格式在settings.xml文件<profiles>部分已有注释
例:
<profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
方式2:
在本项目根目录的pom.xml文件中配置,这将只对本项目之后的构建生效。
例:在pom.xml中插入如下配置
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>
这里采用的是后一种方式,方便为不同项目进行特殊的定制
配置修改后,在命令行中进入项目根目录,重新执行:
mvn clean compile
mvn eclipse:eclipse
之后重新导入到Eclipse,检查到依赖的jdk版本已经更新
五、Eclipse关联本地maven环境
由于新版本的Eclipse已经集成了maven,我们要讲eclipse的maven插件配置关联本地maven环境,只需简单几步即可:
1.配置安装路径:
Window--Preferences--Maven--Installations--Add选择本地maven的安装路径--Finish
这里因为已经配置,所以会提示is aleady in use
2.配置基本设置和依赖包:
Window--Preferences--Maven--UserSettings,配置时选择settings.xml路径后,本地仓库路径讲自动适配
配置完成后,即可直接在eclipse上面创建基于本地搭建maven环境的maven项目:
File--new--other或直接Ctrl+n,选择maven project进行创建
可以看到默认的路径已经是本地maven环境
有丰富的模板可供选择,如webapp项目
填入适当的信息,点击Finish,稍等片刻,即可看到新建的web项目
OK,本文主要内容到此结束,文中没有对各配置和命令进行详细解释,关于maven的详细信息可以自行获取,这里列举部分:
1.Maven官方网站 http://maven.apache.org/
2.oracle Java社区的中文“Apache Maven 入门篇(上和下)”
http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-1-406235-zhs.html
http://www.oracle.com/technetwork/cn/community/java/apache-maven-getting-started-2-405568-zhs.html
3.Maven中文教程 http://www.yiibai.com/maven/