Gradle复合构建-您可以从包含的多项目构建中依赖Java子项目吗?

时间:2018-07-24 17:49:34

标签: java gradle build dependencies

假设您有2个gradle项目。第一个是带有2个Java子项目的多项目:

rootProject
    :my:subProject1
    :myother:subProject2

第二个gradle项目是一个包含Build的根项目的项目:

secondProject
    includeBuild '../rootProject'

我想将compile的{​​{1}}依赖关系转化为:my:subProject1

所以基本上我想将以下内容添加到secondProject.的build.gradle文件中:

secondProject

当我尝试这样做时,它返回错误:dependency { compile(project(':my:subProject1')) }

我似乎只能以Project with path ':my:subProject1' could not be found in root project 'secondProject'的身份来解析依赖项。例如:group:artifact:version。但是,为什么要让我这样做呢?为什么不让我访问复合构建的项目层次结构?

2 个答案:

答案 0 :(得分:1)

  1. 根目录上仅应存在一个settings.gradle,删除任何子文件夹中的所有setting.gradle文件

  2. 在根文件夹的settings.gradle文件上定义项目

    include ':sub1', ':sub2', ':sub3'
    
  3. 在依存关系块下将compile project(":sub1")添加到build.gradle:

    dependencies{
      compile project(":sub1")
    }
    

答案 1 :(得分:0)

这就是这些组合构建的工作方式。它们基本上就像您在将其他项目发布到本地之前将其发布到本地一样。因此,这意味着您需要依赖拆分项目的版本号。