eclipse - 当我尝试在 eclipse galileo IDE 中运行 struts 2 应用程序时出现异常

标签 eclipse jakarta-ee tomcat struts2

我收到以下错误:

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-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。

请帮帮我。

最佳答案

有几件事你应该注意

  • 确保你有相同版本的 jar 包

根据您的帖子,您有不同版本的不同 jar,就像您使用的是非常旧版本的 S2 核心,而您使用的是不同版本的 Xcore。

我的建议是下载sample application来自 S2 主页,这不仅会让您了解 S2 应用程序的结构,还会清楚地了解应用程序中使用的 jar 版本。

关于您的异常,它似乎是您的 Web 应用程序中特定于容器的 jar。由于您将 Eclipse 用作 IDE,因此您应该在项目属性中将 servletcontainer 设置为目标运行时。这样,Eclipse 将自动获取项目构建路径中的所有库。

详情请看下面的帖子

关于eclipse - 当我尝试在 eclipse galileo IDE 中运行 struts 2 应用程序时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9990893/

相关文章:

android - Gradle 将重复文件放入 apk 文件中

java - 使用 application.properties 在 Spring Boot 中外部化 logback.xml 的位置

java - 从 Java 客户端发送的 servlet 中读取 File、String、Int

java - Ubuntu 和 Windows 的奇怪 Eclipse/工作区行为

Android 上下文菜单不再出现在模拟器中

java - 使用 Netbeans 部署 GlassFish 生成 java.net.MalformedURLException : Bad URL path

java - 通过 Tomcat 配置将变量传递给 JRuby 应用程序

java - Maven内嵌Tomcat版本

tomcat - logrotate 不旋转 catalina.out

c++ - 使用 VC 编译器在 Eclipse 中创建可执行文件