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

Eclipse中用Apache CXF执行wsdl2java缺失javax.xml.bind类如何解决

解决方案

方案1:给插件显式添加JAXB依赖(最推荐,兼容性最强)

直接在cxf-codegen-plugin的配置内增加JAXB相关依赖,完全不需要调整JVM参数,同时适配命令行Maven、Eclipse M2E所有运行场景,不会受环境配置差异影响:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf.version}</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <!-- 原有配置保持不变 -->
                        ...
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
            <!-- 新增以下依赖配置 -->
            <dependencies>
                <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>
                </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>
        </plugin>
        ...
    </plugins>
</build>

方案2:修复JVM参数配置生效问题

之前配置不生效的原因是cxf-codegen-plugin:3.2.0的fork模式存在参数解析bug,可按以下步骤调整:

  • 首先将cxf-codegen-plugin的小版本升级到3.2.1及以上,修复参数解析问题
  • 保留原有<fork>true</fork>和<additionalJvmArgs>--add-modules java.xml.bind</additionalJvmArgs>配置
  • 如需适配M2E场景,在Eclipse的「Window - Preferences - Java - Installed JREs」中,选中你用来运行Maven的JDK 11,点击「Edit」,在「Default VM arguments」中添加--add-modules java.xml.bind,保存后重启Eclipse生效

方案验证

配置完成后,无论在命令行执行mvn clean generate-sources,还是在Eclipse中更新Maven项目重新构建,都不会再报缺失HexBinaryAdapter类的错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:15:03