Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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 Gradle不解析从父pom继承的可传递依赖项_Java_Maven_Gradle - Fatal编程技术网

Java Gradle不解析从父pom继承的可传递依赖项

Java Gradle不解析从父pom继承的可传递依赖项,java,maven,gradle,Java,Maven,Gradle,我正在将maven项目转换为gradle项目,但遇到了一个问题 以下是我所有的: 项目A 库B来自第三方,也是a的依赖项 Pom C,B的父代 库D,C的依赖项 因此,正如预期的那样,项目A应该有一个直接依赖项B和一个可传递依赖项D 在maven形式中,项目A可以访问库D,但在gradle形式中,gradle并没有将D视为项目A的依赖项,它只是忽略了这种可传递的依赖项 `implementation 'group:B:version'` 如何消除gradle中B的依赖性以获得与maven相

我正在将maven项目转换为gradle项目,但遇到了一个问题

以下是我所有的:

  • 项目A
  • 库B来自第三方,也是a的依赖项
  • Pom C,B的父代
  • 库D,C的依赖项
因此,正如预期的那样,项目A应该有一个直接依赖项B和一个可传递依赖项D

在maven形式中,项目A可以访问库D,但在gradle形式中,gradle并没有将D视为项目A的依赖项,它只是忽略了这种可传递的依赖项

`implementation 'group:B:version'`
如何消除gradle中B的依赖性以获得与maven相同的结果

我知道在不清除依赖项的情况下从a访问D不是一种常规方法,但我只想用gradle归档与maven相同的目标


感谢您的回答,如果需要从项目a访问项目C,我们将非常感谢您的帮助。

使用
编译
而不是
实现


注意:不建议这样做,可能表明架构设计不正确。特别是,对SOLID.

B中的D的违反是maven repository中的第三方jar,我无法更改它的内容。在这种情况下,请确保正确发布了project B—他应该使用包含自己依赖项的pom.xml发布。示例:另一种方法是为项目a显式指定对项目C的依赖关系