背景:
昨天拉了一个springboot项目,maven拉下所有的jar包后,启动项目报错
java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
问题原因:
这个是因为缺了一些jar包,这些jar包在JDK1.8的时候是有的,但是后面的JDK有的是没这些包的,而我这个项目用的是jdk11
问题解决:
pom.xml 的jar包依赖添加缺失的依赖包
<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>
添加后重启,问题解决
其他原因:
虽然上面的操作解决了问题,但是我发现别人jdk11却没遇到这个问题,所以我想可能还有别的地方出了问题,后面经检查,是编译版本没改好,可以检查项目下面位置,查看JDK版本是否一直(IDEA 工具)
编译版本
项目信息
上面信息配置正确后,不需要再引入那些依赖包,也可以正常启动