问题描述:
项目运行时报错:java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
jdk版本:jdk-10、jdk1.0.8_201(同时存在2个版本)
原因:
java SE 9.0后移除了jaxb的jar包
JAXB API是java EE 的API,因此在Java SE 9.0 中不再包含这个 Jar 包。
Java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包。
解决方法:
方法一:降低项目jdk版本到1.8
file>Project Structure中替换到低版本
本来以为选了1.8的版本,后来发现project structure里是10的版本,降到1.8就解决问题了
方法二:在 pom.xml 中,添加如下依赖:
添加后maven clean install,退出重进后,发现新增一个依赖项,再次运行,运行成功
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>