org.apache.catalina.loader.WebappClassLoader


 問題原因:

一般情況下是tomcat下的包與項目里的包重復加載了。那么應該是這個jar包加載失敗導致應用程序啟動失敗。

比如:

仔細查找下,發現應用程序WEB-INF/lib目錄下存在servlet-api.jar,同時tomcat的common/lib目錄下也存在servlet-api.jar。

如果是這樣的話: 可以將項目里的這些包(如servlet-api.jar)設置為 provided。

問題處理:

例如,用maven 的話,可以這樣設置:

1 <dependency>
2    <groupId>javax.servlet</groupId>
3    <artifactId>javax.servlet-api</artifactId>
4    <version>3.0.1</version>
5    <scope>provided</scope>
6 </dependency>

這樣就表明程序依賴,但編譯的時候,不會將jar包一起打包,以免和tomcat的包產生沖突。

注:

要不是maven 項目的話,可以這樣:

刪除應用程序中WEB-INF/lib目錄下的servlet-api.jar,重新編譯打包部署,應用程序啟動成功並且tomcat沒有報異常。


免責聲明!

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



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