8. 忽略测试失败
mvn test -Dmaven.test.failure.ignore=true
9. 跳过单元测试
mvn install -Dmaven.test.skip=true
10. assembly插件
Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件。 可以使用 Maven Assembly 插件以你希望的任何形式来装配输出,只需定义一个自定义的装配描述符。要配置 Maven Assembly 插件, 我们需要在 pom.xml 中的 build 配置中添加如下的 plugin 配置(这里使用预定义的 jar-with-dependencies 格式):
<project>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
</project>
添加好这些配置以后,你可以通过运行 mvn assembly:assembly 来构建。
11. 创建一个webapp工程
mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch05 -DartifactId=simple-webapp -DpackageName=org.sonatype.mavenbook -DarchetypeArtifactId=maven-archetype-webapp
12. 指定编译时的JDK版本号
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
</build>
13. jetty插件
在将一个web应用编译、测试并且打包好后,一般要将它部署到一个 servlet 容器中。通常情况下,需要下载 Jetty 或者 Apache Tomcat,解压分发包,复制应用程序 WAR 文件至 webapps/ 目录,然后启动容器。现在可以使用 Maven Jetty 插件来做这些工作。为此,需要在项目的 pom.xml 中配置 Maven Jetty 插件:
<project>
<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
在项目的 pom.xml中 配置好 Maven Jetty 插件之后,就可以调用 Jetty 插件的 Run 目标在 Jetty Servlet 容器中启动你的 web 应用:
mvn jetty:run
当 Maven 启动了 Jetty Servlet 容器之后,在浏览器中载入 URL http://localhost:8080/simple-webapp/ 。
要想获得jetty插件的详细信息,必需使用如下命令:
mvn help:describe -Dplugin=org.mortbay.jetty:maven-jetty-plugin
把plugin只设置为jetty是不行的:
mvn help:describe -Dplugin=jetty
14. tomcat插件
<project>
<build>
<finalName>simple-webapp</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<url>http://localhost:8080/manager/html</url>
<username>admin</username>
<password>admin</password>
</configuration>
<executions>
<execution>
<id>tomcat-deploy</id>
<phase>deploy</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
tomcat-maven-plugin通过tomcat的manager控制台来deploy或undeploy应用,所以要把tomcat的相关信息配置上,包括manager url,用户名及密码等!
运行以下命令:
mvn tomcat:deploy
注意:必须先要手动把tomcat启动起来,否则会报如下异常信息:
[INFO] Cannot invoke Tomcat manager
Embedded error: Connection refused: connect
15. 子模块之间的依赖顺序
当Maven执行一个带有子模块的项目的时候,Maven首先载入父POM,然后定位所有的子模块POM。Maven然后将所有这些项目的POM放入到一个称为Maven 反应堆(Reactor)的东西中,由它负责分析模块之间的依赖关系。这个反应堆处理组件的排序,以确保相互独立的模块能以适当的顺序被编译和安装。