【问题标题】:Gradle subproject not recognizing 3rd party dependencies from root build.gradleGradle 子项目无法识别来自根 build.gradle 的 3rd 方依赖项
【发布时间】:2020-01-13 17:14:22
【问题描述】:

我有一个这样的项目:

  • 模块1
    • src/
    • build.gradle
  • 模块2
    • src/
    • build.gradle
  • build.gradle
  • settings.gradle

在根 build.gralde 中,我定义了所有子模块所需的第 3 方依赖项。但是,在 intellij 中,子模块似乎无法识别依赖关系并且不会编译。我过去看过这项工作,但无法弄清楚我做错了什么

根 build.gradle 插件{ 标识“java” }

group 'com.XXX'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

allprojects {
    repositories {
        mavenLocal()
        mavenCentral()
        jcenter()
    }
}

dependencies { 
   ...
}

settings.gradle

rootProject.name = 'XXX'
include 'module1'
include 'module2'

module1 build.gradle

plugins {
    id 'java'
}

group 'com.XXX'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

【问题讨论】:

    标签: java gradle intellij-idea


    【解决方案1】:

    我意识到我只需要将根 build.gradle 中的依赖项放在“子项目”块中,并添加 java 插件。

    subprojects {
        apply plugin: 'java'
    
        dependencies { 
            ...
        }
    }
    

    【讨论】:

    • 这个或allProjects clojure 可用于跨模块共享依赖关系。插件也是如此。如果您对各种子模块有相同的插件,您不妨在allProjects clojure 中定义它们。
    猜你喜欢
    • 2016-11-05
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2016-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多