java - Gradle子项目构建依赖

标签 java gradle dependencies multi-project subproject

我有一个依赖问题,我不知道如何解决。

我有一个项目 A、B 和 C。

A需要B和C

B需要C

我的目录结构是这样的:

A
|-settings.gradle
|-build.gradle
|-lib
   |- B
   |- C

settings.gradle 内容:

include 'lib/B'
include 'lib/C'

build.gradle 内容:

apply plugin: 'java'
dependencies {
  compile project(':lib/B'), 
          project(':lib/C') 
}

project(':lib/B'){
  dependencies {
    compile project(':lib/C')
  }
}

如果我不声明 project(':lib/B'){...} 部分,则由于依赖关系无法构建项目 B。

如果我声明 project(':lib/B'){...} 部分,Gradle 会告诉我:Could not find method compile() for arguments [project ':lib/C'] on org.gradle。 api.internal.artifacts.dsl.pendencies.DefaultDependencyHandler_Decorated@221bad.

我怎样才能解决它,或者在 B 之前编译 C?

PS:数据结构的改变是不可能的。

最佳答案

请尝试添加

subprojects {
    apply plugin: 'java'
}

到你的主要build.gradle

关于java - Gradle子项目构建依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32391143/

相关文章:

java - 如何在Spring Boot中创建具有多个根项目的Gradle项目

android - 如何使用 Gradle 动态地从 aar 中排除文件?

java - Maven 嵌套依赖项不可访问

java - OrientDB Java jdbc 抛出 MethodNotFound

java - Android 我们如何将 emoji Unicode 转换为 ios Emoji 作弊代码并返回到 unicode

java - Bash 忽略 Java 应用程序的退出

android - 如何修复android多个dex文件定义异常

c - 在二进制文件列表中查找函数调用

java - 尝试使用 Selenium WebDriver for Java 从 HTML 表获取数据

java - 传递多维数组