java成长之路

真正解决方案:java.lang.NoClassDefFound

2019-07-04  本文已影响0人  Java成长之路

今天在使用JDK 12.0 环境下使用Hibernate 时候出现了这个错误,错误日志如下:


image

故障原因:

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

解决方案二:(亲测可行)

手动加入这些依赖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>

上一篇 下一篇

猜你喜欢

热点阅读