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

使用wsgen生成WSDL文件报错:找不到主类com.sun.tools.internal.ws.WsGen

解决wsgen无法找到com.sun.tools.internal.ws.WsGen的问题

错误原因

com.sun.tools.internal.ws.WsGen 是JDK 8及更早版本中JAX-WS工具链的类,从JDK 9开始,JAX-WS被从JDK核心模块中拆分出来,JDK 11及之后更是彻底移除了自带的JAX-WS工具,直接执行wsgen命令就会出现类找不到的报错。

解决方案

方案1:切换到JDK 8执行命令

如果环境允许,直接使用JDK 8运行你的wsgen命令:

wsgen -wsdl -cp build/classes/java/main/ -d build/classes/java/main/ -r src/main/resources/ org.example.Commands

JDK 8自带完整的JAX-WS工具链,能正常找到目标类。

方案2:使用Maven插件生成WSDL(推荐JDK 9+使用)

在项目的pom.xml中添加jaxws-maven-plugin插件,通过Maven管理依赖并生成WSDL:

<build>
    <plugins>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsgen</goal>
                    </goals>
                    <configuration>
                        <!-- 指定服务端点接口(SEI) -->
                        <sei>org.example.Commands</sei>
                        <!-- WSDL输出目录 -->
                        <wsdlDirectory>src/main/resources</wsdlDirectory>
                        <!-- 类路径配置 -->
                        <classpathElements>
                            <classpathElement>${project.build.outputDirectory}</classpathElement>
                        </classpathElements>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

添加完成后,执行以下Maven命令即可生成WSDL:

mvn jaxws:wsgen

方案3:手动添加JAX-WS依赖到类路径

如果坚持用命令行执行,需要下载JAX-WS相关依赖(如jaxws-tools.jar),将其加入类路径后执行:

java -cp "build/classes/java/main/:path/to/jaxws-tools.jar" com.sun.tools.ws.WsGen -wsdl -d build/classes/java/main/ -r src/main/resources/ org.example.Commands

注意:这里的类名是com.sun.tools.ws.WsGen(去掉了internal),是JAX-WS独立包中的正确类路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:10:24