解決異常 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
阿新 • • 發佈:2022-03-04
解決異常 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.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>
</dependencies>