Tomcat報出java.lang.NoClassDefFoundError,在Windchill中部署完Webservice後,報如下錯:

背景:Tomcat報出java.lang.NoClassDefFoundError,在Windchill中部署完Webservice後,報如下錯:

 AXIS error Sorry, something seems to have gone wrong... here are the details: Fault - java.lang.NoClassDefFoundError: javax/xml/namespace/QName; nested exception is: java.lang.NoClassDefFoundError: javax/xml/namespace/QName AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException faultSubcode: faultString: java.lang.NoClassDefFoundError: javax/xml/namespace/QName; nested exception is: java.lang.NoClassDefFoundError: javax/xml/namespace/QName faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}hostname:jason

 

 

分析:

在Windchill中部署時,因%Windchill_home%/codebase/WEB-INF/lib下的jar檔過多,而使MethodServer起不來, 所以將幾個jar檔放入了%Tomcat_Home%/shared/lib下,所以應該是jar檔拷貝的問題

 

解決:

將wsdl4j-1.5.1.jar和jaxrpc.jar檔拷貝在一個文件夾下

如:將如上兩個jar文件均拷貝至%Tomcat_Home%/shared/lib下

 

總結:Tomcat在Web工程執行時,jar檔中class的引用滿足:級別高的lib下的不能訪問到比自己級別低的 Tomcat中lib文件夾的級別由高到低如下: common/lib,shared/lib,WEB-INF/lib

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章