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

运行mvn clean install时报package javax.xml.bind不存在错误如何解决

报错原因
  • 核心原因是Java 9及之后的版本将原本包含在JDK中的*Java EE模块(包含javax.xml.bind相关包)*从默认集成项中移除,如果你本地或项目指定的编译JDK版本≥9,且没有显式引入JAXB相关依赖,就会触发该报错。
  • 次要排查点:如果项目明确使用JDK8,大概率是Maven的compiler插件配置的target/source版本和实际运行的JDK版本不匹配,或是本地JDK8的发行版为精简阉割版,移除了内置的JAXB模块。
排查处理方案

情况1:项目使用JDK9及以上版本

直接在项目的pom.xml中引入JAXB官方依赖即可:

<dependencies>
    <!-- JAXB API -->
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <!-- JAXB 实现包 -->
    <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>
    <!-- JAXB注解依赖项 -->
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

情况2:项目明确使用JDK8

  • 首先执行mvn -v检查Maven绑定的JDK版本是否为1.8,如果不符合要求,修改环境变量中的JAVA_HOME指向JDK8的安装路径。
  • 检查pom.xml中maven-compiler-plugin的配置是否正确指定了编译版本:
<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>
  • 若以上配置都正常仍报错,说明所用JDK8发行版移除了内置JAXB,直接引入情况1中的依赖即可解决。

内容的提问来源于stack exchange,提问作者Ana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:36:03