我有一个项目,其父目录在pom.xml
中包含以下内容:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.20.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
和
<modules>
<module>submodule</module>
</modules>
子模块子目录再次包含pom.xml
,其中包含对其父工件的引用。该子目录还包含许多集成测试,如果我将failsafe插件移动到子模块的pom.xml
然后从父目录调用mvn verify
,那么它运行正常,但这不适用于当前(首选)设置(没有错误,测试根本没有执行)。
我尝试在故障安全插件的配置中将子模块工件添加到dependenciesToScan
,但这并没有解决问题。我是否需要将子模块添加为父pom.xml
中的依赖项?因为在处理pom.xml
时会导致“依赖性引用自身”错误。
帮助将不胜感激。
编辑:我已经弄明白了,其他从事该项目的人已将build
部分包裹在profile
部分中,我起初并没有意识到这一点,因为整个文件相当大,笨拙地,我忽略了相应的git提交。通过撤消该更改并遵循Gerald Broser发布的链接中的说明,我设法解决了我的问题(我想只是执行相应的配置文件也会完成它,但无论如何都无需更改)。
答案 0 :(得分:1)
请参阅Maven Failsafe Plugin / Usage / Usage in multi-module projects:
当您在父pom中定义Failsafe插件的共享定义时,最佳做法是定义执行ID,以允许子项目覆盖配置。
答案 1 :(得分:0)
尝试致电
mvn clean verify -P <module>