Gradle 中多项目的插件问题

한국인*_*한국인 10 java gradle

我查看了样本并遵循了它。
(Gradle版本是6.8.3)

https://docs.gradle.org/6.8.3/samples/sample_building_java_applications_multi_project.html

我只是在 demo.java-common-conventions.gradle 文件中附加插件“io.spring.dependency-management”。

plugins {
    id 'java' 
    id 'io.spring.dependency-management' version '1.0.7.RELEASE' // append
}
Run Code Online (Sandbox Code Playgroud)

然后运行gradle build,出现以下错误。

  • 出了什么问题:无效的插件请求[id:'io.spring.dependency-management',版本:'1.0.7.RELEASE']。来自预编译脚本的插件请求不得包含版本号。请从有问题的请求中删除该版本,并确保包含请求的插件“io.spring.dependency-management”的模块是实现依赖项

所以我尝试删除版本。
然后,出现以下错误。

未找到 ID 为“io.spring.dependency-management”的插件。

我也尝试过添加依赖项,但仍然出现未找到错误。

plugins {
    id 'java'
    id 'io.spring.dependency-management' 
}

repositories {
    jcenter() 
}

dependencies {
    implementation "io.spring.gradle:dependency-management-plugin:1.0.7.RELEASE"

    constraints {
        implementation 'org.apache.commons:commons-text:1.9' 
    }

    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2' 

    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' 
}

tasks.named('test') {
    useJUnitPlatform() 
}
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

Fra*_*teo 12

解决方案在错误中:

出了什么问题:无效的插件请求[id:'io.spring.dependency-management',版本:'1.0.7.RELEASE']。来自预编译脚本的插件请求不得包含版本号。请从有问题的请求中删除该版本,并确保包含请求的插件“io.spring.dependency-management”的模块是实现依赖项

所以demo.java-common-conventions.gradle看起来像:

plugins {
    id 'java' 
    id 'io.spring.dependency-management'
}
Run Code Online (Sandbox Code Playgroud)

现在您必须在以下位置添加 Spring 依赖管理插件的依赖项buildSrc/build.gradle

// buildSrc/build.gradle

dependencies {
    implementation "io.spring.gradle:dependency-management-plugin:1.0.7.RELEASE"
}
Run Code Online (Sandbox Code Playgroud)