电话
400 9058 355
jdk 17 已彻底移除 `wsgen` 等 jax-ws 工具(自 jdk 11 起通过 jep 320 废弃),开发者需改用 maven 插件(如 `jaxws-maven-plugin`)或独立库实现 wsdl 到 java 代码的生成与 web 服务构建。
wsgen 是 Java SE 6–8 中用于根据已有的 Java 类(带 @WebService 注解)生成 WSDL 和配套 JAXB 绑定代码的命令行工具,常用于 JAX-WS 开发流程。然而,从 JDK 11 开始,Oracle 依据 JEP 320: Remove the Java EE and CORBA Modules 正式将包括 jdk.xml.ws(含 wsgen、wsimport)、java.xml.bind(JAXB)、java.cor

✅ 推荐替代方案:使用 jaxws-maven-plugin(Mojohaus)
该插件是目前最主流、维护活跃的 wsgen/wsimport 替代工具,支持 JDK 11–21,兼容 Maven 3.6+。以下为典型配置示例(pom.xml):
org.codehaus.mojo jaxws-maven-plugin2.6.2 generate-wsdl generate-sources wsgen com.example.MyWebService true true true ${project.build.directory}/generated-sources/wsgen
运行 mvn generate-sources 即可自动生成 WSDL 文件及配套的 wsdl 目录和 SEI stub 类。
⚠️ 注意事项与最佳实践:
jakarta.xml.ws jakarta.xml.ws-api4.0.0 com.sun.xml.ws jaxws-rt4.0.3
总结:wsgen 的消失并非功能倒退,而是 Java 平台向模块化、轻量化演进的关键一步。通过标准化构建工具链(Maven/Gradle + 社区插件),反而提升了可重复性、跨环境一致性与持续集成友好度。拥抱插件化方案,是现代 Java Web 服务开发的必经之路。
邮箱:8955556@qq.com
Q Q:8955556
本文详解如何将Go官方present工具(用于生成HTML5...
PySNMP在不同版本中对SNMP错误状态(errorSta...
time.Sleep仅阻塞当前goroutine,其他gor...
PHPfopen()创建含特殊符号的文件名失败主因是操作系统...
WooCommerce中通过代码为分组产品动态聚合子商品的属...
io.ReadFull返回io.ErrUnexpectedE...
本文详解Yii2中控制器向视图传递ActiveRecord数...
本文详解为何通过wp_set_object_terms()为...
Pytest中使用@mock.patch类装饰器会导致补丁泄...
带缓冲的channel是并发安全的FIFO队列;make(c...