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>