首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gradle子项目不会使用子项目的依赖项进行编译。

Gradle子项目不会使用子项目的依赖项进行编译。
EN

Stack Overflow用户
提问于 2021-03-18 15:19:48
回答 2查看 114关注 0票数 0

我使用了gradle 6.8.3版本和spring 2.4.3版本的项目结构

代码语言:javascript
复制
Project-A
|
|___ Project B
|
|___ Project C

项目A是根项目,项目B依赖于项目C。

C项目build.gradle

代码语言:javascript
复制
plugins {

    id 'org.springframework.boot' version '2.4.3'

    id 'io.spring.dependency-management' version '1.0.11.RELEASE'

    id 'java'

    id 'maven'

}


group = 'com.test'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = '11'


configurations {

    compileOnly {

        extendsFrom annotationProcessor

    }

}


repositories {

    mavenCentral()

    mavenLocal()

}


dependencies {

    implementation 'org.springframework.boot:spring-boot-starter'

    compileOnly 'org.projectlombok:lombok'

    annotationProcessor 'org.projectlombok:lombok'

    implementation 'org.springframework.boot:spring-boot-starter-logging'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'

}


test {

    useJUnitPlatform()

}

项目B build.gradle文件

代码语言:javascript
复制
plugins {

    id 'org.springframework.boot' version '2.4.3'

    id 'io.spring.dependency-management' version '1.0.11.RELEASE'

    id 'java'

    id 'maven'

}


group = 'com.test'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = '11'


configurations {

    compileOnly {

        extendsFrom annotationProcessor

    }

}


repositories {

    mavenCentral()

    mavenLocal()

}


dependencies {

    implementation project(':PROJECT-C')

    implementation 'org.springframework.boot:spring-boot-starter'

    compileOnly 'org.projectlombok:lombok'

    annotationProcessor 'org.projectlombok:lombok'

    implementation 'org.springframework.boot:spring-boot-starter-logging'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    implementation 'project-c:0.0.0-SNAPSHOT'

}


test {

    useJUnitPlatform()

}

当试图构建项目-c时,它会抛出

以下是更多信息的详细信息。

  • JDK11
  • IntelliJ Idea

抛错

为什么出了问题:一个评估根项目'project-c'.的问题发生了

在根项目‘Project’中找不到带有path‘:project’的

项目。

任何帮助都是非常感谢的。

根级的settings.gradle文件

代码语言:javascript
复制
rootProject.name = 'Project-A'
include 'Project-B', 'Project-C'

另外,我在所有的子模块中都有一个settings.gradle文件。子模块中的settings.gradle内容仅包含项目名称。

EN

回答 2

Stack Overflow用户

发布于 2021-03-22 18:22:10

假设您在settings.gradle文件中的设置是正确的:

在项目B build.gradle文件中的依赖项块中,而不是

代码语言:javascript
复制
implementation project(':PROJECT-C')

试一试

代码语言:javascript
复制
implementation project(':Project-A:Project-C') 

因为项目a是根项目。

票数 1
EN

Stack Overflow用户

发布于 2022-09-23 06:30:15

在我的例子中,我在一个子项目dir settings.gradle中使用了一个胭脂‍♂️,它成功地浪费了我几个小时。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66693990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档