You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Benjamin O'Steen <Be...@sers.ox.ac.uk> on 2008/01/28 15:28:57 UTC
Solr+XSLT output problem; trying to use "wt=xslt" fails with a NoClassDefFoundError
URL query:
http://orasupport.ouls.ox.ac.uk:8080/solr/select/?q=bishop&wt=xslt&tr=at
om.xsl
Solr home is located at /home/bugz/solr and tomcat home is at
/home/bugz/fedora/tomcat. The solr home is set in the CATALINA_OPTS
environment var. Note that other search types work fine - removing wt,
or changing the 'xslt' for python, ruby or json will result in a
successful response.
Error: type Status report
message null java.lang.NoClassDefFoundError at
org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWr
iter.java:115) at
org.apache.solr.request.XSLTResponseWriter.getContentType(XSLTResponseWr
iter.java:64) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j
ava:167) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:462) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683) at java.lang.Thread.run(Thread.java:595)
description The server encountered an internal error (null
java.lang.NoClassDefFoundError at
org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWr
iter.java:115) at
org.apache.solr.request.XSLTResponseWriter.getContentType(XSLTResponseWr
iter.java:64) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j
ava:167) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:462) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683) at java.lang.Thread.run(Thread.java:595) ) that prevented it
from fulfilling this request.
Any clues? (atom.xsl lives in $SOLR_HOME/conf/xslt)
Ben
Re: Solr+XSLT output problem; trying to use "wt=xslt" fails with a
NoClassDefFoundError
Posted by Chris Hostetter <ho...@fucit.org>.
: Error: type Status report
:
: message null java.lang.NoClassDefFoundError at
: org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWr
: iter.java:115) at
This is pretty puzzling ... my best guess is that either:
1) something about your tomcat setup is causing the javax.xml.* classes
to not be available at runtime.
2) the TransformerFactory that your JVM wants to use (as specified by
the "javax.xml.transform.TransformerFactory" system property) can't
be loaded ... i think that would also trigger a NoClassDefFoundError
but i'm not positive.
...with your current tomcat setup, can you write a simple little JSP that
uses TransformerFactory to do an XSLT transform? (if not: then you have a
simplified, non-solr, test case to troubleshoot -- maybe with help from a
Tomcat expert)
-Hoss