解決報錯java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present


今天在運行程序的時候,一直報“java.lang.TypeNotPresentException: Type javax.xml.bind.JAXBContext not present”的錯誤, 代碼之前一直沒有動過,唯一的改變的就是之前用的是jdk8,昨天卸載了jdk8,重裝了jdk12。

百度原因,發現是因為用了jdk12的緣故。因為JAXB-API是java ee的一部分,在jdk12中沒有在默認的類路徑中。從jdk9開始java引入了模塊的概念, 可以使用模塊命令–add-modles java.xml.bind引入jaxb-api。也可以選擇另一種解決方法,在maven里面加入下面依賴,可以解決這個問題:

<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>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
————————————————
版權聲明:本文為CSDN博主「白禮軍」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_45012575/java/article/details/100548253

 


免責聲明!

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



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