java.lang.abstractmethoderror: javax.servlet.jsp.pagecontext.getelcontext () Ljavax / el / elcontext؛
سؤال
أحاول تعيين متغير سأشير إليه في علامة 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)
أقوم بتشغيل Tomcat 5.5، و Java 1.5، مع JSTL 1.2.
أفعل شيئا خطأ هنا؟
شكرا!
المحلول
يبدو أنك قد يكون لديك بعض مشكلة الإصدار، وربما ملف جرة متضاربة من نوع ما. نظرة هنا, ، ربما سوف يساعد. تحتاج إلى توفير المزيد من المعلومات حول بيئة وقت التشغيل إذا لم تتمكن من حلها.
نصائح أخرى
هذا يبدو أن يأتي قليلا جدا. كان لدينا هيدوب كإعالة واضطررت إلى القيام باستبعاد متعددة. بعض هذه ربما تكون زائدة عن الحاجة، ولكن هذا يعمل أخيرا. يجب أن أشير إلى أنه لا يوجد تغيير حتى بدأت باستثناء جاسبر في الأسفل.
<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>
Tomcat 5.5 لا يدعم Servlet API 2.5 الذي يستخدمه JSTL 1.2.
الترقية إلى Tomcat 6.0 أو downgrade إصدارات Servlet / JSP / JSTL.
لا تنتمي إلى StackOverflow