Gradle:配置名称'默认'未找到

时间:2016-06-16 02:34:10

标签: java intellij-idea gradle

我正在尝试将外部gradle项目( Lib-2 )的依赖项添加到另一个gradle项目( Lib-1 )中,在该项目中使用它(的项目-1 )。尝试同步 Lib-1 时,我收到错误

  

配置名称'默认'没找到。

虽然我知道此错误通常是由于缺少 build.gradle 文件引起的,但这两个文件都有相关的gradle文件,如下图所示的文件树所示。

- Containing File 
  | Lib-1
     |build.gradle
     |settings.gradle
     |Module-1
        |src
        |build.gradle
  | Lib-2
     |build.gradle
     |settings.gradle
     |Module-2
        |src
        |build.gradle

Lib-1 settings.gradle 文件

include 'Module-2'
include ':Lib-2'
project(':Lib-2').projectDir = new File(rootDir,'../Lib-2')

模块1 build.gradle 文件中的依赖项

dependencies {
    compile project(':Lib-2')
}

运行" build --info"给出以下转储。

  

开始构建   使用设置文件' / Users / $ user / Containing File / Lib-1 / settings.gradle'评估设置。   项目已加载。根项目使用构建文件' / Users / $ user / Containing File / Lib-1 / build.gradle'。   包含的项目:[根项目' Lib-1',项目':Lib-2',项目':模块-1']   评估根项目' Lib-1'使用构建文件' / Users / $ user / Containing File / Lib-1 / build.gradle'。   评估项目':Lib-2'使用构建文件' / Users / $ user / Containing File / Lib-2 / build.gradle'。   评估项目':模块-1'使用构建文件' / Users / $ user / Containing File / Lib-1 / Module-1 / build.gradle'。   发布   评估所有项目。   选定的主要任务' build'来自项目:

     

失败:构建因异常而失败。

     
      
  • 出了什么问题:   无法确定任务的依赖关系':Module-1:javadoc'。   配置名称'默认'没找到。
  •   

1 个答案:

答案 0 :(得分:1)

添加依赖项时,此错误通常意味着找不到您添加的新项目。在这种情况下会发生这种情况,因为当您在主lib设置文件中添加它时,模块不包含该设置。

你可以在这里走两条路: 1.为每个lib创建一个build.gradle文件,并在其中定义每个模块。然后,通过相同的构建文件编译每个模块(如果需要,单独编译)。 2.使用多项目设置 - 您将能够从模块文件夹进行编译,但需要另一个设置文件。

由于它是一个模块,而不是多个项目,因此选项1似乎是正确的方法。只需为每个模块添加配置,并设置相应的依赖项等。像这样:

configurations {
 module1
 module2
}

sourceSets{ 
 module1 {
     java {
         srcDir 'src/module1'
     }
 }

 module2 {
     java {
         srcDir 'src/module2'
     }
 }
}

dependencies {
 module1 'some.dependency'
 module2 'some.other.dependenty'
}