转:解决java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
开发遇到java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter的问题,pom没有报错,
网上搜索后,见到这篇文章,顺利解决问题,留存以备后查:
链接: https://www.cnblogs.com/smfx1314/p/11071718.html.
故障原因:
JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的
我的项目默认使用的JDK11,因此出现以上问题
解决方案一:
降低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>