1、环境准备html
java环境, jdk 1.5 以上java
MyEclipse集成工具,我装的是8.5 版本apache
2、快速安装及配置api
一、下载maven: http://maven.apache.org/docs/3.1.1/release-notes.htmleclipse
下载apache-maven-3.*.*-bin.zipmaven
解压后, 配置环境变量%MAVEN_HOME%\bin 便可完成安装,(MAVEN_HOME为解压包位置)工具
测试maven3是否已经安装,在dos上运行mvn -version,出现以下相似结果表示安装完成单元测试
二、修改仓库位置测试
2.1 win7系统默认的仓库路径是:C:\Users\用户名\.m2\repository 修改成:D:\Program Files\Maven\Repositoriesspa
2.2 修改\apache-maven-3.1.0\conf 下的setting.xml文件, 找到<localRepository>D:\Program Files\Maven\Repositories</localRepository>这一行,进行修改
2.3 打开命令提示符, 输入:mvn help:system, 该命令会打印出全部的java系统属性和环境变量
三、修改myeclipse内嵌maven为本身安装的版本
打开myEclipse,点击Window->Preferences
3、建立maven项目例子
一、新建项目, 点击File->Other 选择Java Maven Project
图1:new Maven Project
图2:ProjectName\ Group Id\Artifact Id
二、新建项目后, maven项目结构以下图
说明:
1)pom.xml在项目的根目录下,打开pom.xml
2)pom.xml中, groupId artifactId和version,这3个元素定义了项目基本的坐标,
通常groupId跟建立的包关联(名称相同),如图所示; artifactId定义了当前Maven项目在组中惟一的ID
3)pom.xml自动添加了依赖<dependency>,有了这个声明, Maven可以自动下载相应版本的junit.jar包,
如图,已经下载到了本地仓库C:\Users\${用户名}\.m2\repository\junit\junit\versionxx,打开该路径,能够看到junit-version.pom 和junit-version.jar
4)<dependency>添加依赖中,元素<scope>定义依赖范围,当为test时候, 表示: import JUnit只能测试类中, 在主代码中引入, 会编译错误。
不声明依赖范围,默认值是compile,表示该依赖对主代码和测试代码都有效。
三、编写主代码(src/main/java下)并编译
好比,在com.jennifer.test下建HelloMaven.java
代码以下:
使用Maven进行编译, 在项目根目录下运行命令: mvn clean compile
说明:
1)clean,告诉Maven清理输出目录 target/
2)compile告诉Maven编译项目主代码,编译后,在..\maventest2\target\classes的 \com\jennifer\test下生成了HelloMaven.class 文件
四、编写测试代码(src/test/java下)
如上2(3)所述, 已经添加了junit依赖,(默认建立项目后依赖的junit版本较低,改为4.8.1,此时,依赖的关联包会自动更新),
下面用junit编写测试类
编写完毕后, 调用Maven执行测试,运行 mvn clean test
说明:
1)执行成功后, 在..\maventest2\target\test-classes的 \com\jennifer\test下生成了HelloMavenTest.class 文件
而且, target下面生成 surefire-reports,显示运行结果报告
2)若构建执行compiler:testCompile任务的时候失败了,Maven输出提示须要使用 -source5或更高版本以启动注释
修改配置文件, 使maven-compiler-plugin支持java5,以下:
五、打包
执行打包命令:mvn clean package
说明:
1)执行打包命令,jar插件的jar目标将项目主代码打包成一个名为hello-0.0.1-SNAPSHOT.jar,该文件位于target/ 输出目录中
默认命令规则:artifact-version.jar
2)将该 .jar文件拷贝下来, 导入到其余项目中, 就能够调用里面的类和提供的方法
3)直接在其余Maven引用的话, 执行安装步骤:mvn clean install, 就会安装到本地仓库中, 一样在repository仓库文件夹里,生成该项目的.pom .jar文件(相似前面下载的junit)
六、运行
前面默认打包生成的jar不可以直接运行, 由于带有main方法的类信息不回添加到mainfest中,须要再配置插件
再从新执行 mvn clean install
回再生成一份新的带有Main-Class信息的.jar文件,前面生成的被重命名为original-hello-0.0.1-SNAPSHOT.jar
在项目根目录中执行该jar文件
4、maven与其余经常使用插件结合使用
上述中, 就有提到maven里面配置junit插件, 用来完成单元测试, 实际上,maven项目很容易跟其余插件结合起来使用
好比javadoc, 代码覆盖测量工具Cobertura等
一、javadoc配置以下:
配置javadoc后, 执行 mvn javadoc:javadoc 命令, 就会在..\target\site\apidocs目录下生成 apidocs信息
二、Cobertura配置以下:
配置Cobertura后, 执行 mvn cobertura:cobertura 命令, 就会在..\target\site\cobertura目录下,生成测试代码覆盖主代码状况信息。