一、前言
开发使用jdk8版本开发的服务打包后,使用jdk11版本的java启动服务,导致出现以下报错
java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
二、解决
主要是缺少了依赖,jdk8版本是有jaxb的依赖,但是jdk11没有,需要手动添加,或者更改使用jdk8环境启动服务
这里就说一下手动增加依赖的解决方案
在pom.xml配置文件中增加以下配置
vi pom.xml
<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>
再次启动jar包服务就不会出现报错的情况
其实更改jdk环境更方便一点