java.lang.NoClassDefFoundError: org/apache/xpath/XPathException
Hej EksperterNy til jsp og jstl. Jeg har en jsp-side, hvor jeg importer en ekstern xml-fil, som jeg vil gøre noget ved med jstl's xml tag library. Filen importeres fint (jeg kan få vist hele indholdet med <c:out>), og parses tilsyneladende uden problemer af <x:parse>. Men når jeg vil vælge at få vist bestemte dele af dokumentet med <x:out> får jeg nedenstående fejl.
Jeg bruger Tomcat/5.0.28, og har placeret jstl.jar og standard.jar i WEB-INF/lib-mappen under min applikation. Så vidt jeg kan se, har jeg angivet de rigtige taglib uri'er til jstl 1.1, nemlig
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core' %> og
<%@ taglib prefix='x' uri='http://java.sun.com/jsp/jstl/xml' %>.
Jeg synes at kunne fornemme, at fejlen skyldes, at tomcat enten ikke kan loade de nødvendige klasser eller at mine XPath-udtryk er helt i skoven - men løsningen?
De tre linjer kode:
<c:import var="modul" url="http://localhost:8080/dokument.xml" />
<x:parse doc="${modul}" var="xmlDoc" />
<x:out select="" />
Fejlen kommer uanset hvilken xpath-expression jeg indsætter i sidste linje.
exception
javax.servlet.ServletException: org/apache/xpath/XPathException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.submodule_jsp._jspService(submodule_jsp.java:131)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NoClassDefFoundError: org/apache/xpath/XPathException
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
org.apache.taglibs.standard.tag.common.xml.ExprSupport.doStartTag(ExprSupport.java:63)
org.apache.jsp.submodule_jsp._jspx_meth_x_out_0(submodule_jsp.java:353)
org.apache.jsp.submodule_jsp._jspx_meth_template_put_1(submodule_jsp.java:282)
org.apache.jsp.submodule_jsp._jspx_meth_template_insert_0(submodule_jsp.java:158)
org.apache.jsp.submodule_jsp._jspService(submodule_jsp.java:103)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
- lazenby
