解決異常 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.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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM