为何Metro Framework仅部分包迁移至Jakarta,多数仍属com.sun.xml?
Jakarta EE迁移中JAX-WS构件坐标的困惑
我的Gradle WSDL Java代码生成插件仍使用版本为2.3.2-1的com.sun.xml.ws:jaxws-tools,该组件也有v4.0.0版本,但在新的Jakarta体系下找不到jaxws-tools对应的构件。
我很困惑:为何迁移至Jakarta/Eclipse后仅部分Maven坐标发生变更,多数EE XML/SOAP组件仍处于旧的com.sun.xml路径下?
父POM相关信息如下:
mvn dependency:copy -Dartifact=com.sun.xml.ws:project:4.0.0:pom -DoutputDirectory=libs
<scm> <connection>scm:git:git@github.com:eclipse-ee4j/metro-jax-ws.git</connection> <developerConnection>scm:git:git@github.com:eclipse-ee4j/metro-jax-ws.git</developerConnection> <url>https://github.com/eclipse-ee4j/metro-jax-ws</url> <tag>HEAD</tag> </scm>
原因解析
这是因为Jakarta EE的迁移是分阶段、分组件推进的,且JAX-WS参考实现Metro的归属变更存在过渡逻辑:
- 早期JAX-WS由Sun主导,构件坐标使用
com.sun.xml.ws;Oracle接手后继续沿用该路径维护。 - 迁移至Eclipse EE4J项目后,规范API部分先迁移到Jakarta命名空间(即
jakarta.xml.ws下的API构件),但作为实现层的Metro工具链(包括jaxws-tools)仍保留原com.sun.xml.ws坐标——这部分属于具体实现而非规范定义,无需强制变更坐标。 - 4.0.0版本的
com.sun.xml.ws:jaxws-tools实际已经适配Jakarta EE 9+规范,本质上和Jakarta体系完全兼容。
内容的提问来源于stack exchange,提问作者gavenkoa
相关产品推荐
相关产品推荐

