JAX-WS в Java 11 и отсутствующий класс WebParam $ Mode - PullRequest
0 голосов
/ 06 февраля 2020

Я пытаюсь использовать инструмент wsimport в Java 11.

Я получил версию jax-ws с открытым исходным кодом из Metro-проекта Eclipse EE4J, по адресу https://github.com/eclipse-ee4j/metro-jax-ws. Я пробовал версии 2.3.0 и 2.3.1.

Запуск wsimport приводит к включенному классу WSDLModeler , который включает в себя этот импорт:

import javax.jws.WebParam.Mode;

Что не является включается в файлы jar в jaxws-ri, что приводит к:

   [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 Services) - - но под новым именем пакета jakarta.jws.WebParam.

Вопросы

  • Есть ли более новая замена для jax-w, которую я должен использовать вместо этого?
  • Или есть реализация javax.jws.WebParam из другого места, которую я должен включить в classpath?

1 Ответ

1 голос
/ 07 февраля 2020

В случае, если кто-то еще сталкивается с той же проблемой:

  • Имена пакетов недавно изменились в проекте Джакарта, а другие проекты еще не догнали.
  • Были предыдущие выпуски проекта Jakarta, в которых имена пакетов все еще были javax.jws.
  • . Двоичные файлы и исходники для совместимого выпуска (1.1.1) были доступны на repo.eclipse.org здесь,
...