Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 已从repo url中删除Gradle依赖项groupId_Java_Gradle - Fatal编程技术网

Java 已从repo url中删除Gradle依赖项groupId

Java 已从repo url中删除Gradle依赖项groupId,java,gradle,Java,Gradle,A有一个gradle项目,该项目在内部maven repo中托管了一些依赖项。 回购协议的url为http://code.company.com/api/v4/groups/myApp/-/packages/maven/ 如果maven repo的url中包含除组id最后一部分以外的所有内容,Gradle将无法下载依赖项 工作示例: api: 'org.stuff.myApp.utils:core:1.0.0' -> Gradle tries to download https://c

A有一个gradle项目,该项目在内部maven repo中托管了一些依赖项。 回购协议的url为
http://code.company.com/api/v4/groups/myApp/-/packages/maven/

如果maven repo的url中包含除组id最后一部分以外的所有内容,Gradle将无法下载依赖项

工作示例:

api: 'org.stuff.myApp.utils:core:1.0.0'
-> Gradle tries to download 
 https://code.company.com/api/v4/groups/myApp/-/packages/maven/org/stuff/myApp/utils/core/1.0.0/core-1.0.0.pom
-> This URL is correct
坏例子:

api: 'com.company.myApp.utils:core:1.0.0'
-> Gradle tries to download 
 https://code.company.com/api/v4/groups/myApp/-/packages/maven/utils/core/1.0.0/core-1.0.0.pom
-> This URL is wrong, most parts of the group id are mising from the path.
It should be 
 https://code.company.com/api/v4/groups/myApp/-/packages/maven/com/company/myApp/utils/core/1.0.0/core-1.0.0.pom
我在几个gradle版本(包括最新的6.7.1)中尝试过这个,但在文档中找不到任何相关内容。
有人知道这是否是预期的行为,以及如何强制gradle始终附加完整的组id吗?

调试数小时后,我发现了根本原因:我试图使用的库依赖于另一个gradle项目:

com.company.myApp.utils
|-- core
|-- other
core
通过声明
实现项目(':other')
而依赖于
other
,但根项目没有关联的名称。因此,生成的pom包含错误的组id

解决办法是增加

rootProject.name = 'com.company.myApp'
转到库的
设置.gradle
文件