我有一个 Spring 3/Tomcat7/Servlet 2.4 应用程序,其中包含 jsp servlet。该应用程序在 Eclipse/Tomcat 上构建并运行,但在独立服务器上部署时失败。异常(exception)是:
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
at org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:515)
at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1817)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
到目前为止,我已经确定“AbstractMethodError”表明方法的编译版本和部署版本之间可能存在不兼容性(?)。
此外,我在 pom 中包含了 jSTL 版本 1.1.2 - 我想知道 org.apache.jasper.compiler 是否出现问题以及与 Tomcat 的兼容性?
javax.servlet.ServletContext 包含在 jSTL jar 中,但是如果我在 pom 中排除它,异常仍然存在
我正在使用 Java 1.7 进行构建并使用相同的版本运行。
感谢任何帮助......
最佳答案
好的..问题已解决并记录在这里,如果其他人可能会误入歧途。 该应用程序正在 Tomcat 测试服务器上运行,并且正在运行多个应用程序。事实证明,另一个应用程序中的某些 jar 与此应用程序之间存在冲突 - 很可能是 Vaadin jar。这两个应用程序都将单独运行,但不在同一个 Tomcat 实例上运行。我想这是在 tomcat 实例中只运行单个应用程序的一个很好的理由......
关于jsp - java.lang.AbstractMethodError : javax. servlet.jsp.JspFactory.getJspApplicationContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35880304/