tomcat web工程 jar包沖突解決方法


目前在部署工程時,遇到了一個問題,報錯信息如下:

See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class

經檢測,是工程包中含有javax.servlet包的JAR包,造成與Tomcat自身的servlet-api.jar的沖突。

1.問題的原因:

tomcat 啟動后先將tomcat/common/lib目錄下的jar包全部讀入內存,如果webapps目錄里的應用程序中WEB-INF/lib目錄下有相同的包,將無法加載,估計不同版本的包之間也會造成類似問題

2.解決方法

如果jar包只包含javax.servlet,則可以直接刪除。

如果不是則需要進行如下處理:

將javax.servlet從該項目中刪除,此時工程肯定會少依賴關系,java文件報錯。此時呢,在工程外在建一個包,將完整的包放到里面

通過myeclipse的properties-->java build path-->add External jars 添加進來即可解決問題。

該方法數與笨方法,還有比較好的方法,待大家補充及后續發掘


免責聲明!

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



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