java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法
Posted BigOcean
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法相关的知识,希望对你有一定的参考价值。
问题现象:
这种很可能出现在独立一个简单示例项目中可以用,但是在把webService模块加入系统后,报出这类错误。
Exception in thread "main" javax.xml.ws.WebServiceException: Provider com.sun.xml.ws.spi.ProviderImpl not found at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:38) at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:133) at javax.xml.ws.spi.Provider.provider(Provider.java:76) at javax.xml.ws.Endpoint.publish(Endpoint.java:156) at com.test.webservice.MyService.main(MyService.java:7) Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:34) ... 4 more
可能原因及解决:
1.版本需要:jre版本1.6(均含),jave EE5以上;升级
2.可能是应用程序的lib中加入了jaxb-impl.jar,而没有引入jaxws-rt的jar,或者仔细检查一下有无这块的引用不完整情况。关于JAX-WS加载顺序可参考《JAX-WS Provider (JAXB) 的加载顺序》;补充jar
3.重新加载javeEE:在build path 中 remove 掉 Java EE * libraris (*是版本数字),然后add libraris--myeclipse libraris -- next 选对应java EE 版本加入;
以上是关于java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法的主要内容,如果未能解决你的问题,请参考以下文章