SpringBoot 2.x升级3.x启动遇entityManagerFactory创建失败求助
SpringBoot 2.x 升级到3.x 启动报
jakarta/xml/bind/JAXBException 解决方案 问题原因
SpringBoot 3.x 基于Jakarta EE 9规范,所有原Java EE相关API已从javax.*包迁移至jakarta.*包;同时JDK 9及以后版本默认移除了JAXB(XML绑定架构)相关API的类路径支持,且SpringBoot 3.x不再自动引入JAXB依赖,导致启动时无法找到jakarta.xml.bind.JAXBException类,进而引发EntityManagerFactory Bean创建失败。
解决方案
直接在项目中添加Jakarta版本的JAXB API及实现依赖即可:
Maven 项目
在pom.xml中加入以下依赖:
<dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> </dependency> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <scope>runtime</scope> </dependency>
Gradle 项目
在build.gradle中加入以下依赖:
implementation 'jakarta.xml.bind:jakarta.xml.bind-api' runtimeOnly 'org.glassfish.jaxb:jaxb-runtime'
添加依赖后重新构建并启动应用,该错误即可解决。
内容的提问来源于stack exchange,提问作者Nani
相关产品推荐
相关产品推荐

