报错背景
本地代码把jdk升级至11后,出现报错,报错信息如下:
程序异常:org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
问题分析
JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包。而在 java 6/7/8 时关于这个API 都是捆绑在一起的
解决方案
1.降级Jdk至1.8版本
如果可以随意升降级,可以换回1.8,否则看看第2种
2.通过添加依赖解决
<dependency>
<groupId>javax.xml.bind
Java 11报错:NoClassDefFoundError - javax/xml/bind/DatatypeConverter 解决方案

在将JDK升级到11后,运行代码遇到NestedServletException,原因是JAXB API不在Java SE 9+的标准库中。解决方案包括降级JDK至1.8或添加相应依赖。通过添加maven依赖可以解决此问题,从而在保持JDK 11的情况下继续项目开发。
最低0.47元/天 解锁文章
2417

被折叠的 条评论
为什么被折叠?



