使用springboot开发的时候,写完一个接口,开始测试,结果报错
Servlet.service() for servlet [dispatcherServlet] in context with path []
threw exception [Handler dispatch failed: java.lang.NoClassDefFoundError:
javax/xml/bind/DatatypeConverter] with root cause
去网上查询一大堆答案的时候,大多数博客都表示这是由于Service层没有加@Service或者bean没有加@Autowired注解造成的。仔仔细细的看了两遍,明明已经加了注解,那么必然不是注解的问题,再仔细一看,推敲,会不会是javax的问题呢?
所以去搜查发现javax.xml.bind
包是Java的JAXB API的一部分,它从Java 9开始不再是Java SE的一部分,需要作为单独的依赖添加到项目中。
# 方法一:添加JAXB API依赖
<!-- JAXB API -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
# 方法二:添加JAXB实现依赖
<!-- JAXB实现 -->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.1</version>
</dependency>
把依赖添加到pom文件,解决了问题