錯誤解決:Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/Datatype


錯誤詳情:

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
……

原因:

是由於缺少jaxb-api包導致的。在Java 8以及以前的版本,是默認包含jaxb這個jar包的;但是在java SE 9.0就不再包含着個包了,如果使用則需要手動引進。

JAXB API是java EE 的API,因此在java SE 9.0 中不再包含這個 Jar 包。 java 9
中引入了模塊的概念,默認情況下,Java SE中將不再包含java EE 的Jar包 而在 java 6/7/8 時關於這個API
都是捆綁在一起的

 

 

 

解決:

 

  1. 手動導入以下包:
    <!--解決Handler dispatch failed;nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter-->
            <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>

     

 

參考文獻:https://blog.csdn.net/qq_44895397/article/details/108626052


免責聲明!

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



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