# 项目场景:
前后端启动成功没有错误,但在登录是出现错误
# 问题描述:
前后端启动成功没有错误,但在登录是出现
后端呢 SpringBoot 报出错误
ERROR c.e.c.f.w.e.GlobalExceptionHandler - [handleException,83] - Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter |
# 原因分析:
JDK 版本号是:
今天在使用 JDK 13.0 环境下使用 IDEA 时候出现了这个错误,错误日志如下:
我是采用了增加依赖解决的
故障原因:
JAXB API 是 java EE 的 API,因此在 java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE 中将不再包含 java EE 的 Jar 包
而在 java 6/7 / 8 时关于这个 API 都是捆绑在一起的
# 解决方案:
# 解决方案一:
降低 JDK 版本到 JDK 8
# 解决方案二:(亲测可行)
手动加入这些依赖 Jar 包
<dependency> | |
<groupId>javax.xml.bind</groupId> | |
<artifactId>jaxb-api</artifactId> | |
<version>2.3.0</version> | |
</dependency> | |
<dependency> | |
<groupId>com.sun.xml.bind</groupId> | |
<artifactId>jaxb-impl</artifactId> | |
<version>2.3.0</version> | |
</dependency> | |
<dependency> | |
<groupId>com.sun.xml.bind</groupId> | |
<artifactId>jaxb-core</artifactId> | |
<version>2.3.0</version> | |
</dependency> | |
<dependency> | |
<groupId>javax.activation</groupId> | |
<artifactId>activation</artifactId> | |
<version>1.1.1</version> | |
</dependency> |