Исключение, когда я пытался запустить приложение Struts 2 в Eclipse Galileo IDE - PullRequest
2 голосов
/ 03 апреля 2012

Я получаю следующую ошибку:

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)

У меня есть следующие файлы jar в WEB-INF-lib:

  • commons-logging-1.0.4.jar
  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.0.12.jar
  • xwork-2.0.6.jar

Я использую Apache Tomcat v6.0.

Пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 03 апреля 2012

Есть несколько вещей, о которых вы должны позаботиться

  • Убедитесь, что у вас есть фляги с той же версией

, согласно вашему посту, у вас разные версииБанки, как вы используете очень старую версию ядра S2, и вы используете другую версию Xcore.

Я предлагаю скачать образец приложения с домашнего сайта S2, это не только даст вам представлениео структуре приложения S2 и даст четкое представление о том, какая версия jar используется в приложении.

Что касается вашего исключения, то в вашем веб-приложении он выглядит как контейнер для jar-файлов. Поскольку вы используете Eclipse в качестве IDE, выдолжен был установить servletcontainer как Target Runtime в свойствах проекта.Таким образом, Eclipse автоматически получит все свои библиотеки в пути сборки проекта.

Подробности см. В следующем потоке

...