錯(cuò)誤詳情:
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包導(dǎo)致的,在Java 8以及以前的版本,是默認(rèn)包含jaxb這個(gè)jar包的;但是在java SE 9.0就不再包含著個(gè)包了,如果使用則需要手動(dòng)引進(jìn)。
備注:
JAXB API是java EE 的API,因此在java SE 9.0 中不再包含這個(gè) Jar 包。 java 9中引入了模塊的概念,默認(rèn)情況下,Java SE中將不再包含java EE 的Jar包 而在 java 6/7/8 時(shí)關(guān)于這個(gè)API都是捆綁在一起的。
解決方法:
手動(dòng)導(dǎo)入以下包:
<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>