如何在gradle中正确包含另一个项目的模块

时间:2018-03-29 20:48:57

标签: gradle dependencies

我想在项目B中包含模块a1。

a1取决于并包括a2

Projects
  A
    a1
      build.gradle
    a2
      build.gradle
    build.gradle
    settings.gradle

  B
    build.gradle
    settings.gradle

在B项目的settings.gradle中,我添加了:

rootProject.name = 'B'
rootProject.setProjectDir(new File(".")

include ':a1'
project(':a1').setProjectDir(new File(settingsDir.getParentFile(), "/A/a1"))

在B的build.gradle中:

dependencies {
  compile project(':a1')
}

因此,当gradle构建项目B出现错误时,无法找到a2。

然后我在settings.gradle中包含了a2

rootProject.name = 'B'
    rootProject.setProjectDir(new File(".")

    include ':a1',
            ':a2'

    project(':a1').setProjectDir(new File(settingsDir.getParentFile(), "/A/a1"))
    project(':a2').setProjectDir(new File(settingsDir.getParentFile(), "/A/a2"))

此解决方案适用于我,但我不确定从其他项目添加模块是否正确。

有更好的解决方案吗?

0 个答案:

没有答案