gpt4 book ai didi

Maven 运行时范围和循环依赖

转载 作者:行者123 更新时间:2023-12-04 04:39:00 24 4
gpt4 key购买 nike

我有两个模块 A 和 B。实际上 B 是 A 的插件。
B 在编译时依赖于 A。 A 不依赖于 B。
在 A 运行时我想将 B 添加到类路径中,所以在 A 的 pom.xml 中我添加了以下依赖项
pom.xml

    <dependency>
<groupId>my_group</groupId>
<artifactId>my_Plugin</artifactId>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>

Maven 进程因循环依赖错误而失败
[ERROR] The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='A'}' and 'Vertex{label='B'}' introduces to cycle in the graph B-->A-->B -> [Help 1]

[错误]

为什么运行时依赖会影响编译时间?

最佳答案

正如柯南所建议的那样,如果可能的话,将您的公共(public)代码提取到一个单独的模块中以解决循环问题。通常,在这种情况下,人们会将公共(public)接口(interface)和核心类提取到一个单独的模块中,该模块由两个模块扩展,这会导致循环依赖。然后,您将删除对最初处于循环状态的模块的直接依赖关系。有时这很难解决,但是模块化代码可以帮助您弄清楚如何重构代码,以便它易于重用。

关于Maven 运行时范围和循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11325424/

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