今天在本地使用JDK11
环境运行一个JDK1.8
项目时报如下错误
在参考真正解决方案:java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
错误原因
JAXB API
是java EE
的API
,因此在java SE 9.0
中不再包含这个 Jar
包。java 9
中引入了模块的概念,默认情况下,Java SE
中将不再包含java EE
的Jar
包。而在 java 6/7/8
时关于这个API
都是捆绑在一起的
解决方法一:
降低JDK
版本到 JDK 8
解决方法二:
<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>