我必须将我的耳朵项目从JBoss迁移到WebSphere 8.5.5。
我的webService(我使用jax-ws)已正确部署,我可以在没有错误的情况下调用它,但是,当我尝试调用外部webService时,我收到以下错误
java.lang.NoClassDefFoundError: com.sun.xml.ws.spi.ProviderImpl (initialization failure)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:176)
at java.lang.J9VMInternals.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1564)
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:36)
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:95)
at javax.xml.ws.spi.Provider.provider(Provider.java:82)
at javax.xml.ws.Service.<init>(Service.java:56)
jaxws-rt位于WEB-INF / lib目录中,我可以使用该库中的其他类。我试着用一个简单的方法:
Class.forName("com.sun.xml.ws.Closeable").getProtectionDomain().getCodeSource().getLocation().getPath()
返回预期的路径:
/opt/IBM/WAS8.5_1/AppServer/profiles/AppSrv01_1/installedApps/svr04Cell02_1/MyEar.ear/MyWebService.war/WEB-INF/lib/jaxws-rt-2.1.4.jar
这意味着jaxws-rt在我的类路径中。那么,为什么我看不到ProviderImpl类?
提前致谢