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

Spring Boot 2集成kotlin-jpa插件启动失败问题求助

解决Spring Boot 2 + kotlin-jpa启动时的NoClassDefFoundError问题

这问题我之前排查过类似的,核心原因就是Kotlin反射依赖缺失——Spring Boot 2升级到了Spring Framework 5.x,这个版本的BeanUtils类里直接用到了kotlin.reflect.full.KClasses,而你的项目里没显式引入这个依赖,导致启动时找不到类。反观Spring Boot 1.5.x版本,对Kotlin反射的依赖没这么强制,可能间接通过其他依赖带进来了,所以能正常运行。

具体解决方案

你只需要在项目里添加kotlin-reflect依赖即可,根据你的构建工具选择对应的配置:

Maven配置

在pom.xml里加入:

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-reflect</artifactId>
    <version>1.2.41</version> <!-- 和你项目的Kotlin版本保持一致 -->
</dependency>

Gradle(Kotlin DSL)配置

在build.gradle.kts里加入:

implementation("org.jetbrains.kotlin:kotlin-reflect:1.2.41")

小提示

建议用版本变量统一管理Kotlin版本,比如Maven里定义<kotlin.version>1.2.41</kotlin.version>,Gradle里定义val kotlinVersion = "1.2.41",这样后续版本升级时更方便,也能避免版本不一致的问题。

另外要注意:kotlin-jpa插件本身不会自动引入kotlin-reflect,Spring Boot的spring-boot-starter-data-jpa也不会默认包含这个依赖,因为不是所有Kotlin项目都需要反射支持,所以必须手动添加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:19:06