You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin+Spring Cloud项目启动报configurationPropertiesBeans创建失败异常

问题排查与修复方案

核心问题根因

你遇到的启动错误是Spring全家桶版本多维度不统一导致的,具体问题点如下:

  • Spring Boot插件版本与依赖版本不一致:插件配置的是2.4.7,但gradle.properties中定义的springVersion是2.3.4.RELEASE,直接导致Spring核心依赖版本混乱
  • Spring Cloud与Spring Boot版本不匹配:2.2.9.RELEASE版本的spring-cloud-starter-openfeign属于Hoxton版Spring Cloud,仅兼容Spring Boot 2.2.x/2.3.x,和2.4.x版本Boot完全不兼容
  • Kotlin插件版本不统一:kotlin-jvm、kapt插件用的是1.4.10,kotlin-spring插件用的是1.5.20,跨大版本混用会引发注解解析异常
  • JVM编译目标版本重复配置:前面配置jvmTarget=11,后面又覆盖为1.8,编译版本混乱
  • 依赖引入方式错误:spring-boot-dependencies属于BOM依赖,不应该用implementation引入,应由依赖管理插件统一管控

修复步骤

1. 调整gradle.properties版本配置

统一所有组件版本为官方兼容组合:

springVersion=2.4.7
kotlinVersion=1.4.32 # Spring Boot 2.4.x官方适配的Kotlin版本
springCloudVersion=2020.0.3 # 对应Spring Boot 2.4.x的Spring Cloud官方版本
projectGroupId=com.mycomp
projectVersion=0.0.1
jacocoVersion=0.8.7
artifactoryContextUrl=xxx

2. 重构build.gradle.kts配置

修正版本引用、依赖管理、重复配置问题:

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.jetbrains.kotlin.jvm") version "${kotlinVersion}"
    id("org.jetbrains.kotlin.kapt") version "${kotlinVersion}"
    kotlin("plugin.spring") version "${kotlinVersion}"
    id("org.springframework.boot") version "${springVersion}"
    id("io.spring.dependency-management") version "1.0.11.RELEASE" // 适配Boot 2.4.x版本
}

val kotlinVersion: String by project
val springVersion: String by project
val springCloudVersion: String by project
val projectGroupId: String by project
val projectVersion: String by project
val jacocoVersion: String by project

group = projectGroupId
version = projectVersion

repositories {
    mavenLocal()
    // 保留你原有仓库配置
    mavenCentral()
}

// 统一管理Spring Boot、Spring Cloud依赖版本
dependencyManagement {
    imports {
        mavenBom("org.springframework.boot:spring-boot-dependencies:${springVersion}")
        mavenBom("org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}")
    }
}

dependencies {
    implementation(kotlin("stdlib-jdk8", kotlinVersion))
    implementation(kotlin("reflect", kotlinVersion))
    kapt(kotlin("stdlib", kotlinVersion))

    implementation("br.com.mycomp:lib-log:3.2.0-74")

    implementation("org.springframework.boot:spring-boot-starter")
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("org.springframework.boot:spring-boot-starter-webflux")
    // 版本由Spring Cloud BOM统一管控,无需手动指定
    implementation("org.springframework.cloud:spring-cloud-starter-openfeign")
    implementation("io.github.openfeign:feign-okhttp")

    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
}

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        jvmTarget = "11"
        javaParameters = true
    }
}

springBoot {
    mainClass.set("com.examplo.demo.DemoApplication.kt")
}

sourceSets {
    main {
        java {
            srcDirs("build/generated/source/avro/main/java")
        }
    }
}

tasks.test {
    useJUnitPlatform()
}

configurations {
    all {
        exclude(group = "junit", module = "junit")
        exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
        exclude(group = "org.slf4j", module = "slf4j-log4j12")
    }
}

验证

修改完成后执行./gradlew clean build清空原有依赖缓存重新构建,再启动项目即可解决报错。

内容的提问来源于stack exchange,提问作者Jim C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:06:05