在代码中配置 spring 依赖管理插件

时间:2021-04-19 09:06:15

标签: spring gradle dependency-management

我正在尝试在我申请多个子项目的自定义插件中配置 spring 依赖项管理插件,但不知何故没有配置依赖项,并且我的 spring 应用程序无法以 BeanCreationException 启动,而如果将其放入构建中。各个子项目的 gradle.kts 一切正常。 我不是 gradle 专家,我真的很想避免重复该配置。

我错过了什么吗?

dependencyManagement{
    imports {
              mavenBom("org.springframework.cloud:spring-cloud-gcp-dependencies:1.2.4.RELEASE")
            }
}

我的插件:

open class SpringPlugin : Plugin<Project> {
override fun apply(project: Project) {
    project.configurePlugins()

    project.addDependencies()

    project.repositories.mavenCentral()
}

private fun Project.configurePlugins() {
    plugins.apply("org.springframework.boot")
    plugins.apply("kotlin-spring")
    plugins.apply("io.spring.dependency-management")
}

private fun Project.addDependencies() {

    extensions.configure(DependencyManagementExtension::class.java){
        imports {
            mavenBom("org.springframework.cloud:spring-cloud-gcp-dependencies:1.2.4.RELEASE")
        }
    }
    dependencies {
        // ... other dependencies not depending on spring-cloud-gcp-dependencies work fine

        add("implementation","org.springframework.cloud:spring-cloud-gcp-starter-logging")
        add("implementation","org.springframework.cloud:spring-cloud-gcp-starter-trace")
    }
    repositories {
        maven(url = "https://repo.spring.io/milestone")
        maven(url = "https://repository.jboss.org/nexus/content/repositories/public/")
    }
}

}

0 个答案:

没有答案