使用 spring 依赖管理无法解决依赖

Using spring dependency management can't resolve dependency

您好,我在使用 spring 依赖管理插件

时遇到解决依赖问题

我有一个带有子项目的 gradle 项目,我正在使用这个配置。

build.gradle 文件

buildscript {
    repositories {
        mavenCentral()
    }
}

plugins {
    id "io.spring.dependency-management" version '1.0.11.RELEASE' 
    id 'org.springframework.boot' version '2.4.4'
}

apply from: './main.gradle'

main.gradle 文件

subprojects {
    apply plugin: "java"
    apply plugin: "jacoco"
    apply plugin: 'io.spring.dependency-management'

    sourceCompatibility = JavaVersion.VERSION_1_8

    repositories {
        mavenCentral()
    }

    dependencies {
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
        testImplementation 'io.projectreactor:reactor-test'
        
        implementation 'io.projectreactor:reactor-core'
        implementation 'io.projectreactor.addons:reactor-extra'

        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        testAnnotationProcessor 'org.projectlombok:lombok'
        testCompileOnly 'org.projectlombok:lombok'
    }


    jacoco {
        toolVersion = '0.8.2'
    }
}

如您所见,我正在尝试为项目中的每个子项目加载一些依赖项,例如 io.projectreactor:reactor-core

当我 运行 gradle 刷新时,我在我的 intellij IDE 控制台上收到此消息(对于每个子项目):

Could not resolve: org.projectlombok:lombok
Could not resolve: io.projectreactor:reactor-core
Could not resolve: io.projectreactor.addons:reactor-extra
Could not resolve: org.springframework.boot:spring-boot-starter-test
Could not resolve: io.projectreactor:reactor-test

如果我将版本显式放入 dependecies 块中,那么 gradle 可以毫无问题地解决,但我不希望那样

关于这个问题有什么想法吗?我如何验证它?

Gradle 包装器版本:6.8.3(intellij 配置为使用默认 gradle 包装器)

感谢您的帮助

此致!

将 'org.springframework.boot' 添加到每个子模块 build.gradleplugins 部分:

plugins {
    ...
    id 'org.springframework.boot'
}

在这种情况下您不需要指定版本,因为它已经在根目录中指定了 build.gradle

我解决了这个问题,因为@m-deinum suggets,我在根项目的依赖项上缺少 spring-boot-gradle-plugin。

谢谢