解决异常 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
解决异常 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
问题现象
用Tomcat启动Web工程的时候,catalina.out 日志文件中报错如下:
问题原因
服务器上的Java 的JDK版本是 11.0.4,版本过高。
JAXB API是java EE 的API,因此在Java SE 9.0 中不再包含这个 Jar 包。
Java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包。
解决方案
方案1(推荐)
降低JDK的版本为 1.8
方案2
在pom.xml中添加如下依赖:
dependencies>
<dependency>
<groupId>javax.xml.bindgroupId>
<artifactId>jaxb-apiartifactId>
<version>2.3.0version>
dependency>
<dependency>
<groupId>com.sun.xml.bindgroupId>
<artifactId>jaxb-implartifactId>
<version>2.3.0version>
dependency>
<dependency>
<groupId>com.sun.xml.bindgroupId>
<artifactId>jaxb-coreartifactId>
<version>2.3.0version>
dependency>
<dependency>
<groupId>javax.activationgroupId>
<artifactId>activationartifactId>
<version>1.1.1version>
dependency>
dependencies>