3 回答

TA貢獻1155條經(jīng)驗 獲得超0個贊
當你包括在不同的服務(wù)器品牌/版服務(wù)器專用庫,會發(fā)生/WEB-INF/lib
你的web應(yīng)用,如jsp-api.jar
,el-api.jar
,servlet-api.jar
,等你需要刪除它們。該/WEB-INF/lib
不應(yīng)包含任何特定于服務(wù)器的庫。它們屬于特定的服務(wù)器本身(Tomcat已將其放在其/lib
文件夾中)。
順便說一句,這是每當初學(xué)者在IDE項目中的JSP / Servlet API上遇到編譯錯誤時,都會犯的錯誤。應(yīng)該以不同的方式解決此問題,即通過將服務(wù)器集成到IDE中并將服務(wù)器作為“目標運行時”添加到項目中。

TA貢獻1852條經(jīng)驗 獲得超7個贊
我被這個錯誤困擾了很長時間,這個線程節(jié)省了我很多時間。在解決此問題之前,我做了一些研究。是的,我們需要jsp-api.jar, el-api.jar, servlet-api.jar從/WEB-INF/lib文件夾中刪除類似的庫。但是如何?
就我而言,我使用Apache Ivy作為依賴項管理器,并使用Spring MVC。它將下載所有依賴項以及上述庫。在運行時,這些與Tomcat庫提供的API沖突。一種簡單的解決方案是從依賴項中排除這些jar或創(chuàng)建配置,并將這些庫僅包括在編譯時配置中??焖贋槲夜ぷ鞯氖桥懦@些庫。
<dependency org="org.springframework" name="spring-webmvc"
rev="4.0.4.RELEASE">
<exclude org="javax.servlet" name="javax.servlet-api" />
<exclude org="javax.servlet.jsp" name="jsp-api" />
<exclude org="javax.el" name="javax.el-api" />
</dependency>
添加回答
舉報