天天看點

運作時報:nested exception is java.lang.NoClassDefFoundError

接口通路時,錯誤提示全部内容是:

運作時報:nested exception is java.lang.NoClassDefFoundError

   Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter] with root cause。

産生的原因:

我本地的JDK是直接在網上下載下傳的最新的,jdk-17,本版過高導緻的報錯異常。根據其他文章所說,JDK8之後做了巨大改變,JAXB API是java EE 的API,JDK9 中引入了子產品的概念,預設情況下,Java SE中将不再包含java EE 的Jar包,,是以在JDK中不再包含這個Jar 包,而在 java 6/7/8 時關于這個API 都是捆綁在一起的。

解決辦法:

在pom.xml中添加JAXB依賴,方法如下:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
           

 重新加載maven ,運作OK 

運作時報:nested exception is java.lang.NoClassDefFoundError