1.创建项目命令
>mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch04 -DartifactId=simple-weather -DpackageName=org.sonatye.mavebook -Dversion=1.0
2.安装项目命令
在创建的项目下,运行如下命令
>mvn install
3.浏览项目依赖
a.了解你项目的classpath包含哪些依赖是很方便也是很有用的,你可以使用Maven Dependency插件来打印出已解依赖的列表。要在项目下运行dependency:resolve目标。
>mvn dependency:resolve
b.如果你想知道你项目整个依赖树,你可以运行dependency:tree目标
>mvn dependency:tree
c.如果你还不满足,或者想要查看完整的依赖踪迹,包含哪些国为冲突或者其它原因而被拒绝引入的构件,打开Maven的调试标记运行:
>mvn install -X
4.执行测试单元
>mvn test
5.忽略测试失败
通常,你会开发一个带有很多失败单元测试的系统。如果你正在实践测试驱动开发(TDD),你可能会使用测试失败来衡量你离项目完成有多远。如果你有失败的单元测试,但你仍然希望产生构建输出,你就必须告诉Maven让它忽略测试失败。当Maven遇到一个测试失败,它默认的行为是停止当前的构建。如果你希望继续构建项目,即使用Surefire插件遇到失改的单元测试,你就需要设置Surefire的testFailureIgnore这个配置属性为true,如下:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuretion>
<testFailureIgnore>true</testFailureIgnore>
</configuretion>
</plugin>
</plugins>
</build>
[...]
</project>
或用命令行参数设置
>mvn test -Dmaven.test.failure.ignore=true
6.跳过单元测试
你可能想要配置Maven使其完全跳过单元测试。可能你有一个很大的系统,单元测试需要花好多分钟来完成,而你不想在生成最终输出前等单元测试完成。你可能正工作在一个遗留系统上面,这个系统有一系列的失败的单元测试,你可能仅仅想要生成一个JAR而不是去修复所有的单元测试。Maven提供了跳过单元测试的能力,只需要使用Surefire插件的skip参数。在命令行,只要简单的给任何目标添加maven.test.skip属性就能跳过测试:
>mvn install -Dmaven.test.skip=true
当Surefire插件到达test目标的时候,如果maven.test.skip设置为true,它就会跳过单元测试。另一种配置Maven跳过单元测试的方法是给你的项目pom.xml添加这个配置。你需要为你的build添加plugin元素。
跳过单元测试:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuretion>
<skip>true</skip>
</configuretion>
</plugin>
</plugins>
</build>
[...]
</project>