有没有不构建测试类的简单方法?
mvn clean install -Dmaven.test.skip=true
沃尔特
Answers:
只是要明确指出:
skipTests
将在中编译任何内容<testSourceDirectory>
,但不会执行它们。
maven.test.skip
将不编译任何测试,但将执行该作出自己的方式进入任何编译测试<testOutputDirectory>
。
因此上述2的行为是相反的。只是想指出,maven.test.skip
如果解压缩/复制/测试文件不跳过编译和执行。进入<testOutputDirectory>
。
另外,根据您使用它的Maven的版本,这里还有maven.test.skip.exec=true
哪些额外跳过测试执行类似skipTests。
mvn clean package -DskipTests=true && mvn test -Dmaven.test.skip=true
将编译测试(由于第一个程序包执行),但不会在第二个命令中运行它们。假定为标准目录,target/test-classes
此后将包含所有测试,但尚未执行。
运行阶段不包括test-compile
,例如compile
。
mvn clean compile
我在另一个问题中找到了解决方法,该问题实际上是通过默认在pom.xml中添加以下代码片段来覆盖插件执行的:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<executions>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
这似乎可行,但绝对不会禁用阶段,而是禁用插件在特定阶段定义的默认操作。