gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 10:06:36 28 4
gpt4 key购买 nike

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

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>

A 的 POM 没有依赖项,只有父级:父级

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: react 器中的项目包含循环引用:

“B”和“A”之间的边引入了图中 A->parent->B->A 的循环

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

最佳答案

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

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

关于java - 当根pom具有两个或多个子模块共用的插件时,Maven循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36407210/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com