解决异常 java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

  • Post author:
  • Post category:java




一、问题现象

用Tomcat启动Web工程的时候,catalina.out 日志文件中报错如下:

在这里插入图片描述



二、问题原因

服务器上的Java 的JDK版本是


11.0.4


,版本过高。

JAXB API是java EE 的API,因此在Java SE 9.0 中不再包含这个 Jar 包。

Java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包。

在这里插入图片描述



三、解决方案



1、方案1(推荐)

降低JDK的版本为 1.8



2、方案2

在 pom.xml 中,添加如下依赖:

<dependencies>
    <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>
</dependencies>



版权声明:本文为aikudexiaohai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。