我正在使用以下SureFire配置构建一个Maven项目:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${version.maven-surefire-plugin}</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
问题是,当我用mvn clean install -DskipTests=true
构建它时,测试仍然在执行。可能的问题是什么?
我尝试了-DskipTests
(来自Maven website)和-DskipTests=true
,这是IntelliJ Idea在我选中“跳过测试”复选框时添加的。
我不使用任何Maven settings.xml
。
2.2.1
编辑如果我注释掉了SureFire插件配置,参数的行为就像我所期望的那样。上面的配置会有什么问题?
发布于 2013-11-07 23:08:14
你所做的应该是有效的。如何进一步调试:
mvn help:effective-pom
以查看Maven将执行的整个POM。在其中搜索test
(不区分大小写),看看是否有什么奇怪的地方。mvn test -X
以获取调试输出。这将打印用于配置maven-surefire-plugin
的选项。确保将输出重定向到文件!在日志中,您将看到
使用基本配置器调试配置mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.15:test‘-->
然后,下面的几行代码:
DEBUG runOrder = filesystem DEBUG skip = false DEBUG skipTests = false
这些值表示不会跳过测试。
发布于 2013-11-07 22:49:53
Maven知道跳过测试的两种类型的参数:
-Dmaven.test.skip=true
或
-DskipTests=true
surefire-plugin documentation只提到了第一个,您还没有尝试过。
发布于 2013-11-07 23:20:19
考虑到您正在使用的是surfire版本2.3,它不是-DskipTests=true
,它只是-DskipTests
所以你可以这样运行它
mvn install -DskipTests
https://stackoverflow.com/questions/19838734
复制相似问题