Maven生命周期
Maven 的构建生命周期由一系列阶段组成,每个阶段对应一组任务。以下是一些关键阶段:
-
validate
:验证项目是否正确且所有必要信息可用。 -
compile
:编译项目的源代码。 -
test
:使用合适的单元测试框架(如JUnit)运行测试。 -
package
:将编译好的代码打包成可分发的格式(如JAR、WAR)。 -
verify
:运行所有检查,验证包的有效性和质量。 -
install
:将包安装到本地Maven仓库,使其他项目能够依赖该包。 -
deploy
:将最终的包复制到远程仓库,以便在其他开发人员和项目之间共享。
当你执行 mvn package
时,Maven 会依次执行 validate
、compile
、test
和 package
阶段。因此,测试会在 package
阶段之前运行。
跳过测试
如果你希望在执行 mvn package
时跳过测试,可以添加 -DskipTests
或 -Dmaven.test.skip=true
参数:
mvn package -DskipTests
或
mvn package -Dmaven.test.skip=true
两者的区别在于:
-
-DskipTests
只跳过测试的执行,但仍会编译测试代码。 -
-Dmaven.test.skip=true
会完全跳过测试的编译和执行。
修改 pom.xml 配置
如果你希望默认情况下跳过测试,可以在 pom.xml
中配置 maven-surefire-plugin
插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>