java - Gradle 复合构建 - 您是否可以依赖于包含的多项目构建中的 java 子项目?

标签 java gradle build dependencies

假设您有 2 个 gradle 项目。第一个是一个包含 2 个 java 子项目的多项目:

rootProject
    :my:subProject1
    :myother:subProject2

第二个 gradle 项目是一个单一项目,其中 includeBuild 是根项目:

secondProject
    includeBuild '../rootProject'

我想将 :my:subProject1compile 依赖项生成 secondProject。

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

dependency {
    compile(project(':my:subProject1')) 
}

当我尝试这样做时,它返回错误:在根项目“secondProject”中找不到路径为“:my:subProject1”的项目

我似乎只能在将依赖项设置为 group:artifact:version 时才能解决依赖项。例如:my.root.project:subProject1:1.0.0。但为什么要让我这么做呢?为什么不让我访问复合构建的项目层次结构?

最佳答案

  1. 根目录下只能存在一个settings.gradle,删除所有子文件夹中的所有setting.gradle文件

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

    include ':sub1', ':sub2', ':sub3'
    
  3. compile project(":sub1") 添加到依赖项 block 下的 build.gradle 中:

    dependencies{
      compile project(":sub1")
    }
    

关于java - Gradle 复合构建 - 您是否可以依赖于包含的多项目构建中的 java 子项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504793/

相关文章:

java - 当鼠标悬停在工具提示上时如何保持可见?

java - 嵌套java8流通过Predicate获取集合

scala - Buildr vs Gradle,优缺点?

maven - Maven/Gradle方法来计算包括所有传递依赖项的依赖项总大小

c++ - 解析引用 | Exe/Dll 与 Lib

grails - 在Grails中,如何使用Ant更改环境变量?

java - 编译时 SQL 中的单个代码问题

java - 不推荐在没有设置文件的情况下执行 Gradle : How to write a setting file and where to save

gradle - 向 grtty 任务添加依赖项

java - JSP 打印数组列表中的数据