接口访问时,错误提示全部内容是:
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