2013-11-25 45 views
0

我想在程序中做一個web服務調用,並在tomcat服務器中進行部署。但是我收到錯誤「java.lang.NoClassDefFoundError:無法初始化類weblogic.wsee.jaxws.spi.WLSProvider」。但是這個類在weblogic.jar中可用,在tomcat/lib文件夾中也是一樣。有關如何解決此異常的任何建議?java.lang.NoClassDefFoundError:無法初始化類weblogic.wsee.jaxws.spi.WLSProvider

EVERE: Servlet.service() for servlet [test] in context with path [/VTM-Engg-UI] threw exception [Handler processing failed; nested exception is

**java.lang.NoClassDefFoundError: Could not initialize class weblogic.wsee.jaxws.spi.WLSProvider] with root causejava.lang.NoClassDefFoundError: Could not initialize class weblogic.wsee.jaxws.spi.WLSProvider**

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) 
at java.lang.Class.newInstance0(Class.java:357) 
at java.lang.Class.newInstance(Class.java:310) 
at javax.xml.ws.spi.FactoryFinder.newInstance(FactoryFinder.java:31) 
at javax.xml.ws.spi.FactoryFinder.find(FactoryFinder.java:90) 
at javax.xml.ws.spi.Provider.provider(Provider.java:83) 
at javax.xml.ws.Service.<init>(Service.java:56) 
at com.onstar.vcs.services.ws.ProcessVehicleTask.<init>(ProcessVehicleTask.java:42) 
at com.onstar.vtm.manager.GetTaskWs.getTask(GetTaskWs.java:99) 
at com.onstar.vtm.vehType.controller.VehTypeController.getGetTaskAttribute(VehTypeController.java:584) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) 
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565) 
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) 
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) 
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) 
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) 
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:662)` 

回答

2

可能有一些可能性。

應用程序無法訪問tomcat/lib/weblogic.jar文件。可能它不在應用程序類路徑中。

可能有多個jar文件包含weblogic.wsee.jaxws.spi.WLSProvider,這可能會造成問題。

檢查以查看包名稱的完整類名。有時候,jar文件的版本也可能是一個問題。

可能是WLSProvider未正確初始化。如果您查看日誌中的完整堆棧跟蹤並查看所有錯誤,則可能會有指向其初始化的錯誤。在JavaRanch上發佈了類似的問題很長時間 - http://www.coderanch.com/t/582814/BEA-Weblogic/initialize-class-weblogic-wsee-jaxws

深入挖掘日誌文件並查看是否有更多錯誤。可能還有其他的東西需要在這個類加載之前加載,並且可能沒有正確加載。

嘗試配對編程。如果你能讓同行看到你的問題,他們可能會看到你可能錯過的東西。很多時候兩個頭比一個好!

祝你好運。

+0

謝謝感謝!我不確定錯誤是什麼。但我相信有兩個具有相同類名的不同罐子。我能夠調試該錯誤。 –

相關問題