Maven使用手册
Maven使用手册 ............................................................................................................... 1
一、获得maven支持................................................................................................. 2
1、 进入http://maven.apache.org/ .................................................................... 2 2、 下载maven 3.0.3 ...................................................................................... 2
3、 4、 5、 6、 7、
解压 ........................................................................................................ 3 配置环境变量path ................................................................................... 3 测试mvn命令 ......................................................................................... 3 添加变量MAVEN_OPTS,防止溢出 ........................................................ 5 maven本地仓库 ....................................................................................... 6
二、maven命令详解 ................................................................................................. 6
1、命令简介 ...................................................................................................... 6
2、maven依赖查询 ............................................................................................ 7 3、mvn archetype:create:创建Maven项目 ......................................................... 8 4、mvn compile :编译源代码 ..........................................................................11 5、mvn test-compile :编译测试代码................................................................ 12 6、mvn test : 运行应用程序中的单元测试 ..................................................... 12 7、mvn site : 生成项目相关信息的网站 ......................................................... 13 8、mvn clean :清除target中的生成结果 ......................................................... 13 9、mvn package : 依据项目生成 jar 文件...................................................... 14 10、mvn install :在本地 Repository 中安装 jar .............................................. 14 11、mvn eclipse:eclipse :生成 Eclipse 项目文件 ............................................. 15
一、获得maven支持
1、 进入http://maven.apache.org/
点击左边的Download
图1.1.1:maven项目主页
2、 下载maven 3.0.3
图1.2.1:maven下载列表
3、 解压
我解压到D:\\maven目录
图1.3.1:解压后的maven主目录
4、 配置环境变量path
图1.4.1:添加maven_home\\bin到环境变量
5、 测试mvn命令
mvn -v
图1.5.1:命令行查看maven版本
mvn –help:system
图1.5.2:命令行查看maven系统帮助
6、 添加变量MAVEN_OPTS,防止溢出
图1.6.1:添加变量MAVEN_OPTS
7、 maven本地仓库
图1.7.1:maven本地仓库目录
二、maven命令详解 1、命令简介
maven运行命令:mvn maven常用命令:(说明:这些命令由相应的maven插件完成,并非maven本身带的,因此当第一次执行下列任一命令,maven将下载相应插件,然后完成命令)
mvn archetype:create :创建 Maven 项目 mvn compile :编译源代码 mvn test-compile :编译测试代码 mvn test : 运行应用程序中的单元测试 mvn site : 生成项目相关信息的网站 mvn clean :清除目标目录中的生成结果
mvn package : 依据项目生成 jar 文件
mvn install :在本地 Repository 中安装 jar mvn eclipse:eclipse :生成 Eclipse 项目文件 maven其他命令: mvn validate 验证工程是否正确,所有需要的资源是否可用
mvn integration-test 在集成测试可以运行的环境中处理和发布包 mvn verify 运行任何检查,验证包是否有效且达到质量标准
mvn generate-sources 产生应用需要的任何额外的源代码,如xdoclet
mvn help:describe -Dplugin=help 使用 help 插件的 describe 目标来输出 Maven Help 插件的信息。
mvn help:describe -Dplugin=help -Dfull 使用Help 插件输出完整的带有参数的目标列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 获取单个目标的信息,设置 mojo 参数和 plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息 mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 插件可用的目标 mvn help:effective-pom 看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 插件让我们能够在不往 classpath 载入适当的依赖的情况下,运行这个程序 mvn dependency:resolve 打印出已解决依赖的列表 mvn dependency:tree 打印整个依赖树
mvn install -X 想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行
mvn install -Dmaven.test.skip=true 给任何目标添加maven.test.skip 属性就能跳过测试 mvn install assembly:assembly 构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件
mvn jetty:run 调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动 web 应用
2、maven依赖查询
查询地址:http://mvnrepository.com
在命令行下,可以通过该网站查询所需要的依赖包格式,下面以struts2.2.3为例:
图2.2.1:搜索org.apache.struts
在弹出的一堆列表中,找到struts2-core
图2.2.2:定位到struts2-core
点击进入
图2.2.3:确定struts2-core版本号
由此可以得出,我们的pom.xml中应该加入的依赖为:
3、mvn archetype:create:创建Maven项目
创建普通java项目:
mvn archetype:create –DgroupId=com.rongji –DartifactId=mvntest
图2.3.1:创建普通java项目
创建完成后,通过eclipse的import existing maven project引入刚才的项目
图2.3.2:引入maven项目
图2.3.3:刚才命令行所创建的项目结构
创建maven java web项目
mvn archetype:create -DgroupId=com.rongji -DarchetypeArtifactId=maven-archetype-webapp
-DartifactId=mvnwebtest
这里的archetypeArtifactId为项目骨架类型,以下的常用骨架类型
maven-archetype-archetype maven-archetype-j2ee-simple maven-archetype-mojo maven-archetype-portlet maven-archetype-profiles maven-archetype-quickstart maven-archetype-simple maven-archetype-site maven-archetype-site-simple
maven-archetype-webapp
创建的普通java项目,打包方式默认为jar,创建的java web项目,打包方式默认为war 其他操作都与上面的java普通项目一样
4、mvn compile :编译源代码
首先进入所要编译的项目主目录下(例如刚才的e:\\mvntest),然后执行mvn compile
图2.4.1:编译maven项目
执行后,可以发现,项目的target、classes下,多了一个和src/main/java下包目录结构一样的目录,其中放的是相应的字节码文件
同时会发现,该编译命令对src/test/java下的测试类无效
图2.4.2:编译后的字节码存放路径
5、mvn test-compile :编译测试代码
(test-compile之间不要有空格)
原理同上,只是编译的是src/test/java下的测试类。
图2.5.1:测试类编译后字节码存放路径
6、mvn test : 运行应用程序中的单元测试
将测试类编译后,执行所有测试,然后生成报告
图2.6.1:执行maven test后的最后测试报告
图2.6.2:测试报告
如果单元测试中,有System.out.print()这种输出的内容,这些输出也将被存放于测试报告中,这里就不再演示。
7、mvn site : 生成项目相关信息的网站
这个第一次使用的话,会下载一些图片(maven的logo、一些类似于增删盖查之类小按钮等) 在target目录下的site文件夹下,存放这些东西,暂时不知道什么用。。。
8、mvn clean :清除target中的生成结果
清除target文件夹下的测试报告、文档这一类的东西
图2.8.1:执行clean前的测试报告目录
图2.8.2:执行clean后的测试报告目录
这里不知道为什么会抛出一个异常来
图2.8.3:执行clean时候的异常
9、mvn package : 依据项目生成 jar 文件
会把mvn compile、mvn test等执行一遍确认无错误后,打成相应的包放在target下
图2.9.1:生成的jar包
10、mvn install :在本地 Repository 中安装 jar
执行mvn install后,按照该项目groupId+artifactId,将jar包安装到本地仓库中
图1.10.1:安装后的详细路径
11、mvn eclipse:eclipse :生成 Eclipse 项目文件
执行后,将可以通过eclipse提供的import---General---Existing Project Into Workspace来导入项目
图2.11.1:执行之前的项目无法直接导入
图2.11.2:执行之后的项目可以直接导入
因篇幅问题不能全部显示,请点此查看更多更全内容