我是Spring 3的新手。我新安裝Eclipse Indigo,Spring Tool Suite。 使用Spring Tool Suite「Spring Template - > Spring MVC項目」。我創建了一個Hello World應用程序。有例外。 Spring 3與Spring Tool Suite,Tomcat 7和Maven
運行應用程序時。它給出了一個例外。
java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/index_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature
org.apache.jsp.index_jsp._jspInit(index_jsp.java:31)
org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:181)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
什麼是錯的建立
Bozho是對的,問題是你有第二個el-api.jar。但是,如果它是由'提供的 '定義的,則依賴必須來自其他地方。但爲了驗證,我建議您通過maven構建應用程序,然後手動部署戰爭(不使用IDE)。如果異常沒有消失,檢查是否還有一些其他的依賴項依賴於'el-api.jar'(STS,pom.xml,Dependency Hierarchy標籤) –
Ralph
Bozho我試圖從你的指導中啓用m2e-wtp設置。但是我的Eclipse被絞死了。所以嘗試與拉爾夫的選擇。在Tomcat中手動部署WAR文件並嘗試使用它。錯誤消失。注意:我必須在pom.xml中刪除el-api.jar的標籤。 –
Ezhil
WAR是否與el-api一起工作並且提供了作用域? – Ralph