java - Java 11 中的 JAX-WS 和缺少 WebParam$Mode 类

标签 java jax-ws java-11 java-metro-framework

我正在尝试使用 Java 11 中的 wsimport 工具。

我从 Eclipse EE4J 的 Metro 项目获得了 jax-ws 的开源版本,地址为 https://github.com/eclipse-ee4j/metro-jax-ws 。我尝试过版本 2.3.0 和 2.3.1。

运行 wsimport 会导致包含的类 WSDLModeler ,其中包括此导入:

import javax.jws.WebParam.Mode;

这不包含在 jaxws-ri 的 jar 文件中,导致:

   [exec] parsing WSDL...
    [exec] Exception in thread "main" java.lang.NoClassDefFoundError: javax/jws/WebParam$Mode
    [exec]  at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.getParameterOrder(WSDLModeler.java:2585)
    [exec]  at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.processLiteralSOAPOperation(WSDLModeler.java:779)
    ...

Jakarta 项目中有一个 WebParam 的实现 jws-api (Jakarta Web 服务元数据项目)——但使用新的包名称 jakarta.jws.WebParam

问题

  • 我应该使用 jax-ws 的更新替代品吗?
  • 或者是否有来自其他地方的 javax.jws.WebParam 实现我应该包含在类路径中?

最佳答案

如果其他人遇到同样的问题:

  • Jakarta 项目中的软件包名称最近发生了更改,其他项目尚未跟上。
  • Jakarta 项目的早期版本中,包名称仍为 javax.jws
  • 兼容版本 (1.1.1) 的二进制文件和源代码可在 repo.eclipse.org here 上获取。 。

关于java - Java 11 中的 JAX-WS 和缺少 WebParam$Mode 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60101542/

相关文章:

java - 使用 WSDL2Java 从 WSDL 生成的源使用 java 11 上已弃用的 API javax xml ws 生成类

java - 允许 Eclipse 识别标准库 JDK11 补丁模块

intellij-idea - 如何让 JavaFX 和 Java 11 在 IntelliJ IDEA 中工作

java - 使用 Luke 的 Lucene 中出现 "<field> indexed without position data"错误的原因是什么?

java - 如何在 Java NIO 中配置 socks 代理

Java泛型

java - @XmlElementWrapper 用于使用 JAX-WS 的 Web 方法

java - Android 警报对话框颜色已关闭

java - 使用 Maven 连续触发 wsgen & wsimport,使用 wsdlLocation

java - 网络服务测试