Java 如何在我的Eclipse工作区中解析从一个gradle项目到另一个gradle项目的依赖关系?
我的eclipse工作区中有两个gradle项目。让我们叫他们“A”和“B”。其中“A”取决于“B”。项目“A”在其build.gradle文件中声明了对“B”的依赖关系,如下所示:Java 如何在我的Eclipse工作区中解析从一个gradle项目到另一个gradle项目的依赖关系?,java,eclipse,gradle,Java,Eclipse,Gradle,我的eclipse工作区中有两个gradle项目。让我们叫他们“A”和“B”。其中“A”取决于“B”。项目“A”在其build.gradle文件中声明了对“B”的依赖关系,如下所示: dependencies { compile 'some-group:B:1.0.0' ... } root |-> project A \-> project B 由于我将在这两个项目中进行修改,如果gradle能够解决“B”对eclipse项目中二进制文件的依赖
dependencies {
compile 'some-group:B:1.0.0'
...
}
root
|-> project A
\-> project B
由于我将在这两个项目中进行修改,如果gradle能够解决“B”对eclipse项目中二进制文件的依赖性(而不是从某个存储库下载B.jar),那就太好了
幸运的是,我发现Eclipse/STS中有这样的特性(根据问题)。我通过选中“将JAR重新映射到Gradle项目”(在Eclipse:Window->Gradle首选项中)来启用此功能。在完成Gradle->Refresh All(在项目“a”中)之后,我在项目“a”中有一个类路径:
(项目“B”的二进制文件所在的路径)C:\eclipseworkspace\B\bin
- 项目B的所有可传递依赖项
- 项目“A”中声明的所有依赖项(及其可传递依赖项)
- “B/src/test/java”的二进制文件
- 项目“B”的“testCompile”依赖项
src/main/*
和src/test/*
设置不同的输出文件夹,但随后这两个文件夹都被添加到项目“A”的类路径中
我以前在Eclipse中使用过Maven,在同一个Eclipse工作区中引用依赖关系非常有效。多项目构建是您的答案 最简单的方法是使用如下目录结构:
dependencies {
compile 'some-group:B:1.0.0'
...
}
root
|-> project A
\-> project B
在根目录中,您将有一个build.gradle文件和一个settings.gradle文件,在settings.gradle中,您将列出项目a和项目B。任何通用配置都可以进入根目录build.gradle,然后在项目B依赖项中,您可以拥有以下内容:
dependencies {
compile project(':project A')
}
然后,如果您更改项目A并构建项目B,项目A将重新编译,否则gradle将使用以前编译的版本
请参见问题的一部分与可传递依赖项有关吗?你试过禁用它们吗?configurations.all{transitive=false},或者可以在单个依赖项上设置transitive=false。