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

Java11环境编译JAX-WS报错:找不到jakarta.xml.bind模块如何解决

问题原因

  • 你使用的JAX-WS 3.0.1版本属于Jakarta EE 9规范体系,该版本起JAXB(Jakarta XML Bind)作为独立组件不会被JAX-WS依赖自动传递引入,你当前的pom配置中缺少JAXB的编译期依赖。
  • Java 11已经将JAXB、JAX-WS等组件从标准JDK中移除,必须手动引入第三方实现才可以正常使用相关功能。
  • 由于编译期模块路径中缺少JAXB的API包,Java模块系统无法识别jakarta.xml.bind模块,因此抛出对应报错。

解决方案

1. 补充pom.xml中的JAXB依赖

在原有JAX-WS依赖的基础上,新增JAXB的API和实现依赖:

<dependencies>
    <!-- 原有JAX-WS依赖保留 -->
    <dependency>
        <groupId>jakarta.xml.ws</groupId>
        <artifactId>jakarta.xml.ws-api</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>3.0.1</version>
        <scope>runtime</scope>
    </dependency>

    <!-- 新增JAXB依赖 -->
    <dependency>
        <groupId>jakarta.xml.bind</groupId>
        <artifactId>jakarta.xml.bind-api</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>3.0.1</version>
        <scope>runtime</scope>
    </dependency>
</dependencies>

2. 完善module-info.java配置

如果你的项目中需要使用JAX-WS的相关API,建议在模块声明中补充JAX-WS的依赖引入:

module test.jakarta {
    requires jakarta.xml.bind;
    requires jakarta.xml.ws;
}

3. 重新构建项目

执行以下命令清理旧的编译产物并重新编译:

mvn clean compile

内容的提问来源于stack exchange,提问作者Carmelo Quílez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:18:00