当根pom具有两个或多个子模块通用的插件时,Maven循环引用



所以我有一个项目,结构如下-:

pom.xml

 ---Module A (Child)
 ---Module B (Maven child  plugin with Dependency on A)
 ---Module C (Child Dependency on A)
 ---Plugin B

父pom看起来像下面的

<modules>
<module>A</module>
<module>B</module>
<module>C</module>
</modules>
<plugins>
<plugin>
  B
</plugin>
</plugins>

POM for A没有依赖项,只有父级-:母

B的POM具有

<parent>parent</parent>
<dependencies>
      <dependency>A</dependency>
</dependencies>

C的POM也有

<parent>parent</parent>
<dependencies>
      <dependency>A</dependency>
</dependencies>

有了以上内容,maven给了我以下错误-:

org.apache.maven.ProjectCycleException:反应器中的项目包含一个循环引用:

"B"one_answers"A"之间的边引入图中的循环A->parent->B->

我做错了什么?我应该如何构建项目?我想把所有东西都放在一个地方。

您应该将父级内部的插件声明移动到pluginManagement标记中,以便设置版本(但不实际使用),然后在需要插件的单个项目中,只需在plugins标记中命名插件即可。

此外,如果B依赖于A,则A不能使用插件B。对不起,不能做;你需要找到一种方法,让其中一个不需要另一个。此外,我不认为B可以将自己用作插件,因为在开始构建B之前,必须解决这个问题。C和任何其他模块(DE等)可以使用B

相关内容

  • 没有找到相关文章

最新更新