2012-04-03 51 views
2

我得到以下錯誤:例外,當我試圖運行支柱在Eclipse IDE伽利略應用2

javax.servlet.ServletException: java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext; 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:342) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 


root cause 

java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext; 
    org.apache.jsp.Login_jsp._jspInit(Login_jsp.java:34) 
    org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49) 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

我在WEB-INF-lib中的以下jar文件:

  • commons-測井1.0.4.jar
  • 的freemarker-2.3.8.jar
  • OGNL-2.6.11.jar
  • struts2的核 - 2.0.12.jar
  • xwork-2.0.6.jar

我使用Apache Tomcat v6.0。

請幫助我。

+0

請出示你的web.xml。你的罐子對於2.0.12是正確的...如果這是一個新項目,那麼最好使用最新的struts2(版本2.3.1.2)。 – Quaternion 2012-04-03 16:00:46

回答

0

有,你應該像你正在使用照顧

  • 請確保您有罐子包括與相同版本

按照您的文章,你有不同的版本,不同的罐子的幾件事情非常舊的S2核心版本,並且您正在使用不同版本的Xcore。

我的建議是從S2主頁下載sample application,這不僅可以讓您瞭解S2應用程序的結構,還可以清楚地瞭解應用程序中使用的jar版本。

關於您的異常,您的web應用程序看起來像容器特定的jar。由於您將Eclipse用作IDE,因此您應該在項目的屬性中將servletcontainer設置爲Target Runtime。通過這種方式,Eclipse將自動將其所有庫存入項目的構建路徑中。

請參閱以下螺紋的細節