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 Karen Loughran <k....@qub.ac.uk> on 2007/07/04 12:34:34 UTC
java.lang.ExceptionInInitializerError - Can't find resource 'solrconfig.xml'
Hi there,
I have a standalone java/solr embedded application (based on Embedded Solr).
I can call it from the command prompt by passing solr.home as system property
( -Dsolr.solr.home=/opt/all/solr ) and all works fine.
But if I put a webservice infront of it ,which essentially provides an webapp
api to the standalone (deployed in tomcat 5.5.23) and set up solr.home via
JNDI I get the exception below. The trace indicates that it is correctly
using JNDI solr.home "/opt/all/solr" which does have conf directory with
solrconfig.xml, etc. It is the same solr.home which works for testing
standalone. But the stack trace below reports that it can't find
solrconfig.xml at this location.
Any ideas as to what is happening ?
Many Thanks
Karen
PS. Using Solr 1.2
04-Jul-2007 11:16:39 org.apache.solr.core.Config getInstanceDir
INFO: Using JNDI solr.home: "/opt/all/solr"
04-Jul-2007 11:16:39 org.apache.solr.core.Config setInstanceDir
INFO: Solr home set to '"/opt/all/solr"/'
java.lang.ExceptionInInitializerError
at org.apache.solr.update.SolrIndexConfig.<clinit>(SolrIndexConfig.java:36)
at org.apache.solr.core.SolrCore.<clinit>(SolrCore.java:84)
at uk.ac.besc.prism.searcher.impl.searcher.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.axis.utils.ClassUtils$1.run(ClassUtils.java:127)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.utils.ClassUtils.forName(ClassUtils.java:122)
at org.apache.axis.utils.cache.ClassCache.lookup(ClassCache.java:85)
at
org.apache.axis.providers.java.JavaProvider.getServiceClass(JavaProvider.java:428)
at
org.apache.axis.providers.java.JavaProvider.initServiceDesc(JavaProvider.java:461)
at
org.apache.axis.handlers.soap.SOAPService.getInitializedServiceDesc(SOAPService.java:286)
at
org.apache.axis.deployment.wsdd.WSDDService.makeNewInstance(WSDDService.java:500)
at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274)
at
org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260)
at
org.apache.axis.deployment.wsdd.WSDDDeployment.getService(WSDDDeployment.java:427)
at
org.apache.axis.configuration.FileProvider.getService(FileProvider.java:231)
at org.apache.axis.AxisEngine.getService(AxisEngine.java:311)
at org.apache.axis.MessageContext.setTargetService(MessageContext.java:756)
at org.apache.axis.handlers.http.URLMapper.invoke(URLMapper.java:50)
at org.apache.axis.handlers.http.URLMapper.generateWSDL(URLMapper.java:58)
at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:446)
at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Error in solrconfig.xml
at org.apache.solr.core.SolrConfig.<clinit>(SolrConfig.java:90)
... 49 more
Caused by: java.lang.RuntimeException: Can't find resource 'solrconfig.xml' in
classpath or '"/opt/all/solr"/conf/', cwd=/opt/all/apache-tomcat-5.5.23
at org.apache.solr.core.Config.openResource(Config.java:357)
at org.apache.solr.core.SolrConfig.initConfig(SolrConfig.java:79)
at org.apache.solr.core.SolrConfig.<clinit>(SolrConfig.java:87)
... 49 more
2007-07-04 11:16:39,684 DEBUG impl.searcher [debug:138] [forName0@-2]Exiting
static initialiser of searcher
Re: java.lang.ExceptionInInitializerError - Can't find resource 'solrconfig.xml'
Posted by Karen Loughran <k....@qub.ac.uk>.
Chris,
When I remove the surrounding quotes from solr path in my web.xml it works !
Thanks for your help
Karen
On Wednesday 04 July 2007 16:56:40 Chris Hostetter wrote:
> : But if I put a webservice infront of it ,which essentially provides an
> : webapp api to the standalone (deployed in tomcat 5.5.23) and set up
> : solr.home via JNDI I get the exception below. The trace indicates that
> : it is correctly using JNDI solr.home "/opt/all/solr" which does have conf
> : directory with
>
> note the quote characters in the logging and read further down in the
> stack trace...
>
> : 04-Jul-2007 11:16:39 org.apache.solr.core.Config getInstanceDir
> : INFO: Using JNDI solr.home: "/opt/all/solr"
> : 04-Jul-2007 11:16:39 org.apache.solr.core.Config setInstanceDir
> : INFO: Solr home set to '"/opt/all/solr"/'
>
> ...
>
> : Caused by: java.lang.RuntimeException: Error in solrconfig.xml
> : at org.apache.solr.core.SolrConfig.<clinit>(SolrConfig.java:90)
> : ... 49 more
> : Caused by: java.lang.RuntimeException: Can't find resource
> : 'solrconfig.xml' in classpath or '"/opt/all/solr"/conf/',
> : cwd=/opt/all/apache-tomcat-5.5.23
>
> ...it looks like when you set solr home using JNDI, the mechanism you are
> using is actaully putting the quote characters in the value, so it's
> trying to find a file with the path...
> "/opt/all/solr"/conf/
>
>
>
>
> -Hoss
Re: java.lang.ExceptionInInitializerError - Can't find resource
'solrconfig.xml'
Posted by Chris Hostetter <ho...@fucit.org>.
: But if I put a webservice infront of it ,which essentially provides an webapp
: api to the standalone (deployed in tomcat 5.5.23) and set up solr.home via
: JNDI I get the exception below. The trace indicates that it is correctly
: using JNDI solr.home "/opt/all/solr" which does have conf directory with
note the quote characters in the logging and read further down in the
stack trace...
: 04-Jul-2007 11:16:39 org.apache.solr.core.Config getInstanceDir
: INFO: Using JNDI solr.home: "/opt/all/solr"
: 04-Jul-2007 11:16:39 org.apache.solr.core.Config setInstanceDir
: INFO: Solr home set to '"/opt/all/solr"/'
...
: Caused by: java.lang.RuntimeException: Error in solrconfig.xml
: at org.apache.solr.core.SolrConfig.<clinit>(SolrConfig.java:90)
: ... 49 more
: Caused by: java.lang.RuntimeException: Can't find resource 'solrconfig.xml' in
: classpath or '"/opt/all/solr"/conf/', cwd=/opt/all/apache-tomcat-5.5.23
...it looks like when you set solr home using JNDI, the mechanism you are
using is actaully putting the quote characters in the value, so it's
trying to find a file with the path...
"/opt/all/solr"/conf/
-Hoss