1. 程式人生 > >java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解決辦法

java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解決辦法

get -- 現在 rim otf jar eclips 示例 升級

問題現象:

  這種很可能出現在獨立一個簡單示例項目中可以用,但是在把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解決辦法