gpt4 book ai didi

java - 为什么 Gradle 5 (5.6.3) 在组件解析过程中做出了意外的决定?

转载 作者:行者123 更新时间:2023-11-30 05:23:08 25 4
gpt4 key购买 nike

我有一个非常大的多项目 java 构建。 Gradle 5(4.10.3->5.6.3)更新后,最可怕的事情之一就是依赖解析过程中意外失败:

...
dependencies {
// I know about the deprecation of 'compile', with 'implementation' I have the same problems
compile project(":Monitor")
compile project(":WFPlugins-Server")
compile project(":web-spring")
compile project(":Security")
compile project(":Client")
}
...

对我来说,很明显,它应该是一个项目依赖项。但我收到:

FAILURE: Build failed with an exception.



* What went wrong:

Execution failed for task ':SpringWFS:compileJava'.

> Could not resolve all files for configuration ':SpringWFS:compileClasspath'.
> Could not find com.company:WFPlugins-Server:1.12.

Required by:
project :SpringWFS

因此,gradle 试图将其解决为 ExternalModuleDependency [就 gradle 而言],而不是 DefaultProjectDependency,并且构建按预期失败

有人解决这个问题吗?

备注:

  1. 请不要提出复合构建(目前不可能,但我正在努力)
  2. 更改构建系统(我们有一个非常大的项目):)

最佳答案

Gradle 将项目依赖项替换为模块依赖项的唯一原因是:

  • 是否定义了替换规则。检查您是否有任何定义。
  • 如果您在构建中的其他位置引用 WFPlugins-Server 作为二进制依赖项,并且它显示为 SpringWFS 依赖关系图的一部分, 它的版本比项目高。

在最后一种情况下,您可以调整解析策略 to prefer project over modules .

关于java - 为什么 Gradle 5 (5.6.3) 在组件解析过程中做出了意外的决定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59171313/

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