gpt4 book ai didi

java - 如何阻止 Gradle 中的项目依赖项被另一个项目替换?

转载 作者:行者123 更新时间:2023-12-02 09:33:05 26 4
gpt4 key购买 nike

我有一个多项目设置,并且我将一个项目定义为 build.gradle 文件中的依赖项。但该项目正在被同一层次结构中的另一个项目取代。我该如何阻止这种情况发生?

将项目结构视为:

A/B/C1/D/src
A/B/C2/D/src

在 C1/D 内的 build.gradle 文件中,我已将项目 C2/D 定义为依赖项。但随后在调用构建任务时,依赖项 C2/D 被 C1/D 替换,这会导致以下错误:

Circular dependency between the following tasks:
:B:C1:D:compileJava
\--- :B:C1:D:compileJava (*)

如果我调用 :C1:build 构建运行正常,但在调用构建任务时会出现错误。

运行 :B:C1:D:dependencies 时,我可以看到以下内容:

+--- project :B:C2:D -> project :B:C1:D (*)

如何阻止这种情况发生?

最佳答案

由于签名(带包的类名)相同,因此 gradle 在构建任务中从同一项目中获取代码。我建议在两个项目中使用不同的代码名称(例如 impl infix)。

否则,您需要拥有大量资源(时间和意愿)并显式地为资源使用单独的类加载器。

关于java - 如何阻止 Gradle 中的项目依赖项被另一个项目替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57781263/

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