解決java.lang.NoClassDefFoundError: javax/xml/rpc/service錯誤的方法


最近在做WebService項目,本地測試沒有問題,打算部署到服務器上,但是部署后,訪問時出現了如下圖1的錯誤:

解決java.lang.NoClassDefFoundError: javax/xml/rpc/service錯誤的方法 - Tian@SpringSide - tzj359314269
圖1
       圖1報的是沒有找到定義的類的錯誤。刷新頁面有又出現了另外“新”的錯誤:
解決java.lang.NoClassDefFoundError: javax/xml/rpc/service錯誤的方法 - Tian@SpringSide - tzj359314269
圖2
       根據圖2顯示,起先以為是配置出錯了,導致找不到Client類,從而不能初始化該類。但是經過仔細排查后,發現端口,路徑等配置並沒有錯誤,所以非常疑惑。
      后來經過網上查找資料,發現了原因:缺少jaxrpc.jar包,這個包應該是在tomcat目錄中的lib目錄下。我在lib目錄下查看后果然沒有這個包,把這個包添加到lib,重啟服務器后,正常顯示,如圖3:
解決java.lang.NoClassDefFoundError: javax/xml/rpc/service錯誤的方法 - Tian@SpringSide - tzj359314269
圖3
      也就是說,其實圖2是由圖1引起的,這兩個錯誤是同一個錯誤,都是由於少了 jaxrpc.jar包引起的。其實這個包是依賴於axis.jar的包之一,其他類似包還有如圖4所示:
解決java.lang.NoClassDefFoundError: javax/xml/rpc/service錯誤的方法 - Tian@SpringSide - tzj359314269
圖4
另外需要引起重視的是:這里報的是NoClassDefFoundError錯誤,而不是報ClassNotFoundException,前者是在編譯階段發生的,后者是在運行時發生的,而不是編譯階段。
 
本錯誤還有另外一種解決辦法:
由於這是WebService,也有可能缺少WebService的關鍵包,本項目中,我的lib目錄下同樣缺少如圖5的包:
解決java.lang.NoClassDefFoundError: javax/xml/rpc/service錯誤的方法 - Tian@SpringSide - tzj359314269
圖5
 將圖5中的包添加到lib目錄,重啟服務器后同樣能解決問題。
 
 注:jar包一定要放在WEB-INF下的lib下,否則web項目不生效。
 
 
 
 
 
以上缺少的包均可以從網上下載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM