項目部署到Tomat報錯:jar not loaded.See Servlet Spec 2.3, section 9.7.2. Offending


項目部署到Tomcat報這樣的異常:

Java代碼   收藏代碼
  1. jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class  


造成這種情況的原因很可能是:

 

一、項目的WEB-INF/lib下有servlet-api.jar。


二、項目的WEB-INF/lib下

有包含javax.servlet包的JAR包(如WebLogic 8.1的weblogic.jar),造成與Tomcat自身的servlet-api.jar的沖突。

因為Tomcat的WebappClassLoader加載JAR包時會進行校驗。

 

 

解決方案:

 

一、針對第一種情況,項目的servlet-api.jar不要放在WEB-INF/lib下,可以放在工程下的一個專門的目錄(如lib)下面,然后通過Eclipse導入到工程中。

 

二、針對第二種情況,暫時沒有想到簡單的解決辦法,在我的項目中由於某種特殊的需求,weblogic.jar是通過自定義的類加載器加載的,而不是由Tomcat的 WebappClassLoader加載,所以上述問題也就不存在了。如果您遇到同樣的問題,可以借鑒此種方案。


免責聲明!

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



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