Konnte nicht geladen oder instanziiert TagLibraryValidator Klasse: org.apache.taglibs.standard.tlv.JstlCoreTLV

So arbeite ich mit JSTL in OSGi, unter Gemini Laufzeit. Und ich bin immer folgende exception, wenn ich versuche, Zugriff auf den url zu meiner servlet: -

SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /WEB-INF/login.jsp (line: 3, column: 66) Unable to read TLD "META-INF/c.tld" from JAR file "file:/D:/OSGi%20Runtime/Gemini/gemini-web/dep/com.springsource.javax.servlet.jsp.jstl-1.2.0.v20110728.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

Aber ich habe überprüft, dass ich bereits alle notwendigen bundles in meiner Laufzeit. Die entsprechenden Bündel, das ich habe ist: -

71  ACTIVE      javax.servlet_3.0.0.v201103241009
73  ACTIVE      javax.el_2.2.0.v201105051105
74  ACTIVE      javax.servlet.jsp_2.2.0.v201103241009
75  ACTIVE      com.springsource.javax.servlet.jsp.jstl_1.2.0.v20110728
121 ACTIVE      com.springsource.org.apache.taglibs.standard_1.1.2.v20110517

Gibt es mehr bundles, aber diese sind diejenigen, die relevant sind. Also, ich kann nicht verstehen, was falsch gelaufen ist.

Aus der Spring Source Repository, von wo ich heruntergeladen habe, das bundle, es ist klar, dass, org.apache.taglibs.standard bundle - Bundle 121, enthält, die JstlCoreTLV class.
Also, nicht sicher, was hier Los ist.

Hier mein JSP header, die ich benutze (Nur für den Fall es relevant ist): -

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

Bin ich mit: -

  • Servlet 3.0
  • JSP 2.2
  • Gemini Runtime 2.1
  • JSTL 1.2.0

Update: -

Der unten beschriebene problem scheint gelöst zu sein, und jetzt ich bekomme keine Warnmeldung, wie unten dargestellt. Das war da, ich war mit den taglibs.standard_1.1.2 - (Bundle 121), die nicht kompatibel zu anderen. So, habe ich es entfernt, und die Warnung ging Weg.

So, Sie können ignorieren, was da ist, von hier aus auf. Aber Das problem oben ist immer noch da. Ich bin noch immer, dass JasperException. Kann dies weiter helfen, wie das problem-Domäne reduziert sich jetzt ein wenig, Dank der wertvollen Beiträge von @BalusC.


Teil, nachdem dies gelöst ist. Also, man kann es ignorieren: -

Auch, ich bin mir nicht sicher, dass die version der OSGi-JSTL-bundle, dass ich - Bundle 75 ist kompatibel mit den anderen bundles - javax.el, taglibs, servlets usw, oder nicht. Denn ich war mit JSTL 1.2.1, aber ich konnte nicht Holen Sie sich das bundle für JSTL 1.2.1. Was ich bekam, war das bundle die ich verwendet (JSTL 1.2.0). Warum dies so ist, mich stört, ist, weil diese Art von Nachrichten kommt, wenn ich starte meine Anwendung: -

Jan 22, 2013 7:14:05 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/core is already defined
Jan 22, 2013 7:14:05 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/core is already defined
Jan 22, 2013 7:14:05 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt_rt is already defined
Jan 22, 2013 7:14:05 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jstl/fmt is already defined
Jan 22, 2013 7:14:05 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/fmt is already defined
Jan 22, 2013 7:14:05 PM org.apache.catalina.startup.TaglibUriRule body
INFO: TLD skipped. URI: http://java.sun.com/jsp/jstl/functions is already defined

Wie Sie sehen können, dass es zwei unterschiedliche URLs oben gezeigt: -

  • URI: http://java.sun.com/jstl/core
  • URI: http://java.sun.com/jsp/jstl/core

Nun, AFAIK beide URLs gehören nicht derselben JSTL Versionen.
So, könnte das Probleme aufwerfen? Und was kann der Grund sein, für Sie zu kommen? Ich habe gerade verwendet eine JSTL bundle.

  • Haben Sie geprüft über JSTL-Tag in es ist SO wiki? Es könnte Ihnen helfen, dieses Rätsel zu lösen.
InformationsquelleAutor Rohit Jain | 2013-01-22
Schreibe einen Kommentar