我们的 POM 定义maven-surefire-plugin
如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.14</version>
<configuration>
<reuseForks>false</reuseForks>
<forkCount>1</forkCount>
<argLine>-Xms64m -Xmx256m</argLine>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
然而,我们的 Java 测试(包括一些并行测试和静态单例)只有在我们运行测试阶段/构建时才能正常运行:
mvn test -DforkMode=always
奇怪的是,即使我们改变我们<configuration>
的使用(而不是较新的选项):
<forkMode>always</forkMode>
并运行:
mvn test
它会失败。但是如果我们运行:
mvn test -DforkMode=always
会过去的。代替较新的选项,它仍然只有在我们forkMode
在命令行上明确提供时才有效。我们已经尝试过使用多个版本的 surefire 插件,效果相同。
是否存在可以覆盖此属性的任何位置,或未正确使用 XML 配置的已知问题?