Java 11:在karaf 4.2.7上启动Soap WS的问题。

问题描述 投票:0回答:1

我正在进行java从java8到java11的迁移工作,在java11上排除的包中,有web服务使用的javax.xml.ws。jaxws-rt(2.3.3-b01) 作为pom文件的依赖.构建是OK的.部署是KO的,因为jaxws-rt在jvm com.sun.xml.internal.ws.spi.ProviderImpl上搜索ProviderImpl,没有找到。java.lang.ClassNotFoundException: com.sun.xml.internal.ws.spi.ProviderImpl

之后,我添加了两个罐子(jaxws-api-2.3.1.jarjaxws-rt-2.3.3-b01.jar)上的目录 apache-karaf-4.2.7/lib/boot/ 拟装在 杠铃. 我还添加了以下一行。

wrapper.java.additional.13=-Djavax.xml.ws.spi.Provider=com.sun.xml.ws.spi.ProviderImpl。

karaf-wrapper.conf 文件来定义新的 供应商实例 而不是在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: 如果有人想查看解决方案实现的信息,我可以提供更多的细节。阿纳斯

soap jax-ws java-11 apache-karaf
1个回答
0
投票

你不应该把这些jars添加到karaf lib文件夹中。最好添加Apache CXF特性,然后安装cxf-jaxws特性。这将安装CXF和基础SOAP捆绑包。

© www.soinside.com 2019 - 2024. All rights reserved.