Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Gradle 在多项目设置中找不到渐变依赖项?_Gradle_Build.gradle - Fatal编程技术网

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'
更新

好的,到root
build.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的
失败了
。还添加了
番石榴
,结果相同。我一会儿就来看看。