【发布时间】:2017-11-26 01:32:52
【问题描述】:
我有一个项目,其父目录在其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 并引用其父工件。如果我将故障安全插件移动到子模块的pom.xml 中,然后从父目录调用mvn verify,子目录还包含许多集成测试,这些测试运行良好,但这不适用于当前(首选)设置(没有错误,测试根本不执行)。
我尝试在故障安全插件的配置中将子模块工件添加到dependenciesToScan,但这并没有解决问题。我是否需要将子模块添加为父 pom.xml 中的依赖项?因为这会导致在处理 pom.xml 时出现“依赖项正在引用自身”错误。
我们将不胜感激。
编辑:我已经弄清楚了,从事该项目的其他人已将 build 部分包装在 profile 部分中,起初我没有意识到这一点,因为整个文件相当大且笨拙,而我有忽略了相应的 git commit。通过撤消该更改并按照 Gerald Broser 发布的链接中的说明,我设法解决了我的问题(我想只执行相应的配置文件也可以解决问题,但无论如何都不需要更改)。
【问题讨论】:
-
你在哪里定义了这个插件,在
pluginManagement部分还是直接在build部分? -
根据 Gerold Broser 发布的链接,在父 pom 中的
pluginManagement部分和子 pom 中的plugins部分中。 -
通过“一个 pom.xml 并引用其父工件”您指的是
<parent>部分,而不是<dependency>部分,对吗?请从第二层(第一层是<project>)向下提供所有POM的相关部分。
标签: java maven maven-failsafe-plugin