Java 11: проблема с запуском Soap WS на karaf 4.2.7 - PullRequest
0 голосов
/ 16 марта 2020

Я работаю над миграцией java с java8 на java11. Среди пакетов, исключенных на java11, - javax. xml .ws, используемый веб-сервисом. Я добавил jaxws-rt(2.3.3-b01) как зависимость от файла POM. Сборка в порядке. Развертывание было KO, потому что jaxws-rt искал ProviderImpl на jvm com.sun. xml .internal.ws.spi.ProviderImpl и не находит его: java .lang.ClassNotFoundException: com.sun . xml .internal.ws.spi.ProviderImpl

После этого я добавил два jar (jaxws-api-2.3.1.jar и jaxws-rt-2.3.3-b01.jar) в каталог apache-karaf-4.2.7/lib/boot/ для загрузки на karaf начать . Я также добавил следующую строку:

обертка. java .additional.13 = -Djavax. xml .ws.spi.Provider = com.sun. xml .ws.spi .ProviderImpl

в файле karaf-wrapper.conf для определения нового ProviderImpl вместо старого, удаленного в Java 11.

Но у меня все еще есть эта ошибка блокировки при запуске WS:

Caused by: java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: com.sun.xml.ws.spi.ProviderImpl not a subtype
        at java.util.ServiceLoader.fail(ServiceLoader.java:588) ~[?:?]
        at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236) ~[?:?]
        at java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264) ~[?:?]
        at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299) ~[?:?]
        at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384) ~[?:?]
        at javax.xml.ws.spi.ServiceLoaderUtil.firstByServiceLoader(ServiceLoaderUtil.java:63) ~[jaxws-api-2.3.1.jar:?]
        at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:89) ~[jaxws-api-2.3.1.jar:?]
        at javax.xml.ws.spi.Provider.provider(Provider.java:96) ~[jaxws-api-2.3.1.jar:?]
        at javax.xml.ws.Service.<init>(Service.java:112) ~[jaxws-api-2.3.1.jar:?]
        at fr.asipsante.psig.service.signalement.PSIGSignalement.<init>(PSIGSignalement.java:39) ~[?:?]
        at fr.gouv.sante.sivss.psig.service.PsigSignalementWebService.createPSIGSignalementWebService(PsigSignalementWebService.java:70) ~[?:?]
        at fr.gouv.sante.sivss.psig.service.PsigSignalementWebService.init(PsigSignalementWebService.java:48) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
        at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:337) ~[!/:1.10.2]
        at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:835) ~[!/:1.10.2]
        at org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:591) ~[!/:1.10.2]
        ... 55 more

Я пробовал разные решения, но все еще не понимаю, чего не хватает ... ??

NB: Я могу дать подробнее, если кто-то хочет проверить информацию о реализации решения. Заранее спасибо за ваши предложения! Анас

1 Ответ

0 голосов
/ 02 мая 2020

Вы не должны добавлять эти банки в папку karaf lib. Лучше всего добавить функцию Apache CXF, а затем установить функцию cxf-jaxws. Это установит CXF и базовые SOAP пакеты.

...