java.lang.AbstractMethodError:javax.servlet.jsp.PageContext.getELContext()Ljavax / el / ELContext;

时间:2009-02-12 17:17:19

标签: java jsp jstl jsp-tags

我正在尝试设置一个我将在自定义JSP标记中引用的变量,所以我在JSP中有这样的东西:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="path" value="test"/>

但是,当JSP运行时,我收到此错误:

java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
    at org.apache.taglibs.standard.tag.common.core.SetSupport.doEndTag(SetSupport.java:140)

我正在使用JSTL 1.2运行Tomcat 5.5和Java 1.5。

我在这里做错了吗?

谢谢!

3 个答案:

答案 0 :(得分:5)

这似乎相当多。我们将Hadoop作为依赖项,并且必须进行多次排除。其中一些可能是多余的,但最终有效。我应该注意到,在我开始将Jasper排除在底部之前没有任何变化。

<exclusions>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-2.1</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-api-2.1</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-api</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>servlet-api</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>servlet-api-2.5</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty</artifactId>
    </exclusion>
    <exclusion>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-util</artifactId>
    </exclusion>
    <exclusion>
        <groupId>tomcat</groupId>
        <artifactId>jasper-compiler</artifactId>
    </exclusion>
    <exclusion>
        <groupId>tomcat</groupId>
        <artifactId>jasper-runtime</artifactId>
    </exclusion>
</exclusions>

答案 1 :(得分:2)

看起来你可能有一些版本问题,也许是某种冲突的jar文件。看here,也许它会有所帮助。如果无法解决,则需要提供有关运行时环境的更多信息。

答案 2 :(得分:1)

Tomcat 5.5不支持JSTL 1.2使用的Servlet API 2.5。

升级到Tomcat 6.0或降级Servlet / JSP / JSTL版本。

请参阅http://tomcat.apache.org/whichversion.html