You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot项目Maven执行JUnit测试报NoClassDefFoundError错误求助

解决Maven打包时的javax/xml/bind/JAXBException NoClassDefFoundError问题

我来帮你拆解这个问题:你在Eclipse里能正常跑JUnit测试和运行应用,但用mvn clean package就报错,跳过测试就正常,核心原因是JAXB API在JDK 9及以后版本中不再是默认内置的模块,而你的Hibernate依赖需要它来处理XML映射绑定。

为什么Eclipse里没问题?

大概率是你IDE配置的JDK是8版本——JDK8自带了JAXB的相关类,所以不管是运行应用还是跑测试,都能找到需要的类。但Maven命令行可能用了更高版本的JDK(9+),或者打包阶段的测试环境没有自动引入JAXB依赖,就触发了这个错误。

下面是两种靠谱的解决办法:

方法一:统一JDK版本到8

先确认你的Maven环境用的JDK版本:

  • 运行命令 mvn -v 查看输出里的Java版本
    如果是JDK9+,而你的项目本来就是基于JDK8开发的,那可以:
  1. 修改系统的JAVA_HOME环境变量,指向你的JDK8安装目录
  2. 或者直接在pom.xml里强制指定编译和运行的JDK版本,添加这段配置:
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

方法二:添加JAXB依赖(适合JDK9+场景)

如果你必须用JDK9及以上版本,那就手动把JAXB相关依赖加到pom.xml里,因为Hibernate的XmlMappingBinderAccess类需要这些:

<dependencies>
    <!-- JAXB核心依赖 -->
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.1</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0.1</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

加完之后再跑mvn clean package,应该就能正常通过测试并打包了。

内容的提问来源于stack exchange,提问作者Ramon De Les Olives

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:18:14