Spring Boot报EnumValueConverter类未找到错误,求排查原因
错误原因分析:NoClassDefFoundError: EnumValueConverter
从报错栈信息来看,核心问题是依赖版本不兼容,具体细节如下:
- 你当前使用的
hypersistence-utils-hibernate-62-3.3.0.jar是适配Hibernate 6.2及以上版本的工具包,但Spring Boot 3.0.5默认集成的Hibernate版本是6.1.7.Final。org.hibernate.type.descriptor.converter.spi.EnumValueConverter这个类是Hibernate 6.2才新增的,Hibernate 6.1.x中不存在该类,因此工具包加载时找不到对应的类,抛出NoClassDefFoundError。 - 次要可能:项目中存在多版本Hibernate依赖冲突,导致类加载路径混乱,无法正确找到目标类,但从栈信息来看,这个可能性较低,核心还是版本适配问题。
解决建议
- 更换hypersistence-utils版本:选用适配Hibernate 6.1.x的版本,比如
hypersistence-utils-hibernate-60系列(需确保版本号与工具包的兼容列表匹配)。 - 升级Hibernate版本:如果要保留
hypersistence-utils-hibernate-62系列,可手动将项目中的Hibernate版本升级到6.2及以上,注意需确认该版本与Spring Boot 3.0.5的兼容性。
内容的提问来源于stack exchange,提问作者zimch
相关产品推荐
相关产品推荐

