Gradle 在多项目设置中找不到渐变依赖项?
我有一个这样的项目设置Gradle 在多项目设置中找不到渐变依赖项?,gradle,build.gradle,Gradle,Build.gradle,我有一个这样的项目设置 + rootProject + module1 + src build.gradle + module2 + src build.gradle + src build.gradle settings.gradle rootProject/build.gradle的内容 evaluationDependsOn(':module1') apply plugin:
+ rootProject
+ module1
+ src
build.gradle
+ module2
+ src
build.gradle
+ src
build.gradle
settings.gradle
rootProject/build.gradle的内容
evaluationDependsOn(':module1')
apply plugin: 'java'
dependencies {
compile project(':module1')
compile project(':module2')
}
task myTask (type: JavaExec) {
main = 'org.gradle.example.Test.Main'
classpath runtimeClasspath
}
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'commons-codec:commons-codec:1.9'
}
apply plugin: 'java'
module1/build.gradle的内容
evaluationDependsOn(':module1')
apply plugin: 'java'
dependencies {
compile project(':module1')
compile project(':module2')
}
task myTask (type: JavaExec) {
main = 'org.gradle.example.Test.Main'
classpath runtimeClasspath
}
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'commons-codec:commons-codec:1.9'
}
apply plugin: 'java'
module2/build.gradle的内容
evaluationDependsOn(':module1')
apply plugin: 'java'
dependencies {
compile project(':module1')
compile project(':module2')
}
task myTask (type: JavaExec) {
main = 'org.gradle.example.Test.Main'
classpath runtimeClasspath
}
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'commons-codec:commons-codec:1.9'
}
apply plugin: 'java'
依赖关系图
root --> module1 --> commons-codec
--> module2
gradle在根文件夹中使用命令gradlebuild
在生成时报告此情况
Could not resolve all dependencies for configuration ':compile'.
> Could not find commons-codec:commons-codec:1.9. Required by:
:rootProject:unspecified > rootProject:codec:unspecified
如果我在rootProject的构建文件中添加依赖项
块,它将正常生成。
如您所见,我已经确定了module1构建文件中的依赖项。为什么gradle一直说它无法解决
是否需要将子模块的所有依赖项都放在根生成文件中?首先,我发现您缺少多模块项目中必需的设置.gradle
文件。您需要在rootProject/build.gradle
所在的同一级别创建它
内容应该是
include 'module1', 'module2'
更新
好的,到rootbuild.gradle
添加了以下代码:
allprojects {
repositories {
mavenCentral()
}
}
并从module1/build.gradle
存储库
部分删除。现在它起作用了。获取并显示依赖项。目前不知道解释是什么。我有它,它的内容正是你所建议的。好吧。当我运行gradlebuild
时,它工作得非常好。但是没有必要将子模块依赖项放在rootProject的构建文件中。您有什么版本的gradle?您可以尝试一下这个项目吗https://github.com/gradleware/oreilly-gradle-book-examples/tree/master/multiproject-individual
我的项目是用与此相同的设置构建的嗯。。1.11但是当我运行gradle dependencies
时,我看到commons codec的失败了
。还添加了番石榴
,结果相同。我一会儿就来看看。