相关疑难解决方法(0)

使用Gradle 5.1“实现平台”代替Spring Dependency Management插件

我编写了一个Gradle插件,其中包含许多常用的设置配置,因此我们所有的项目都只需要应用该插件和一组依赖项即可。它使用Spring Dependency Management插件为Spring设置BOM导入,如下面的代码片段所示:

trait ConfigureDependencyManagement {
    void configureDependencyManagement(final Project project) {
        assert project != null

        project.apply(plugin: "io.spring.dependency-management")

        final DependencyManagementExtension dependencyManagementExtension = project.extensions.findByType(DependencyManagementExtension)
        dependencyManagementExtension.imports {                 
            mavenBom "org.springframework.boot:spring-boot-dependencies:2.1.0.RELEASE"
        }
     }
  }
Run Code Online (Sandbox Code Playgroud)

尽管在Gradle 5.1中仍然可以使用,但我想用BOM导入的新依赖机制替换Spring Dependency Management插件,所以我将上面的内容更新为:

trait ConfigureDependencyManagement {
    void configureDependencyManagement(final Project project) {
        assert project != null

        project.dependencies.platform("org.springframework.boot:spring-boot-dependencies:2.1.0.RELEASE")
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,更改意味着没有导入由这些BOM定义的依赖项,并且在构建项目时遇到类似的错误?

找不到org.springframework.boot:spring-boot-starter-web:。要求:项目:

找不到org.springframework.boot:spring-boot-starter-data-jpa:。要求:项目:

找不到org.springframework.boot:spring-boot-starter-security:。要求:项目:

我是否认为Gradle 5.1不再需要Spring Dependency Management插件是正确的,如果是的话,我是否错过了一些使它起作用的东西?

dependencies byte-order-mark gradle spring-boot

5
推荐指数
1
解决办法
1171
查看次数