我在设置Solr作为CentOS中的Tomcat服务时遇到了问题。我正在使用solr 3.3.0,它应该与从cPanel安装的Tomcat 5.5一起工作。我得到的错误是:如何解决java RuntimeException:在类路径中找不到资源'solrconfig.xml'?
找不到在类路径或“/home/sampleuser/public_html/apache-solr/example/solr/./conf/”,CWD资源“solrconfig.xml中” = /usr/local/jakarta/apache-tomcat-5.5.33/bin
我看到其他人有类似的问题。我搜索并尝试应用所有的方法。然而到目前为止,我没有任何工作。
我做了以下内容:
- 复制
solr.war
到tomcat/webapps
- 重启动Tomcat服务
编辑
/usr/local/jakarta/tomcat/webapps/solr/WEB-INF/web.xml
为:<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/home/sampleuser/public_html/apache-solr/example/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
在
/usr/local/jakarta/tomcat/conf/Catalina/localhost
创建solr.xml
为:<?xml version="1.0" encoding="utf-8"?> <Context docBase="/usr/local/jakarta/tomcat/webapps/solr.war" debug="0" crossContext="true"> <Environment name="solr/home" type="java.lang.String" value="/home/sampleuser/public_html/apache-solr/example"override="true"/> </Context>
编辑Tomcat启动脚本在
etc/init.d
(不知道如果我不得不这样做的话)有:
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/home/sampleuser/public_html/apache-solr/example/solr"
下面是从catalina.err完整的错误日志:
Oct 9, 2011 7:35:06 PM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
Oct 9, 2011 7:35:06 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Oct 9, 2011 7:35:06 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Oct 9, 2011 7:35:06 PM org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextDestroyed()
Oct 9, 2011 7:35:06 PM org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextDestroyed()
Oct 9, 2011 7:35:06 PM org.apache.coyote.http11.Http11BaseProtocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080
Oct 9, 2011 7:35:21 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/local/jdk/jre/lib/amd64/server:/usr/local/jdk/jre/lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Oct 9, 2011 7:35:23 PM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Oct 9, 2011 7:35:23 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2875 ms
Oct 9, 2011 7:35:23 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Oct 9, 2011 7:35:23 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.33
Oct 9, 2011 7:35:23 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Oct 9, 2011 7:35:24 PM org.apache.catalina.startup.HostConfig deployDescriptor
WARNING: A docBase /usr/local/jakarta/tomcat/webapps/solr.war inside the host appBase has been specified, and will be ignored
Oct 9, 2011 7:35:25 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: /home/sampleuser/public_html/apache-solr/example/solr
Oct 9, 2011 7:35:25 PM org.apache.solr.core.SolrResourceLoader <init>
INFO: Solr home set to '/home/sampleuser/public_html/apache-solr/example/solr/'
Oct 9, 2011 7:35:25 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init()
Oct 9, 2011 7:35:25 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: /home/sampleuser/public_html/apache-solr/example/solr
Oct 9, 2011 7:35:25 PM org.apache.solr.core.CoreContainer$Initializer initialize
INFO: looking for solr.xml: /home/sampleuser/public_html/apache-solr/example/solr/solr.xml
Oct 9, 2011 7:35:25 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: /home/sampleuser/public_html/apache-solr/example/solr
Oct 9, 2011 7:35:25 PM org.apache.solr.core.CoreContainer <init>
INFO: New CoreContainer: solrHome=/home/sampleuser/public_html/apache-solr/example/solr/ instance=1537767228
Oct 9, 2011 7:35:25 PM org.apache.solr.core.SolrResourceLoader <init>
INFO: Solr home set to '/home/sampleuser/public_html/apache-solr/example/solr/'
Oct 9, 2011 7:35:26 PM org.apache.solr.core.SolrResourceLoader <init>
INFO: Solr home set to '/home/sampleuser/public_html/apache-solr/example/solr/./'
Oct 9, 2011 7:35:26 PM org.apache.solr.common.SolrException log
SEVERE: java.lang.RuntimeException: Can't find resource 'solrconfig.xml' in classpath or '/home/sampleuser/public_html/apache-solr/example/solr/./conf/', cwd=/usr/local/jakarta/apache-tomcat-5.5.33/bin
at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:268)
at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:234)
at org.apache.solr.core.Config.<init>(Config.java:141)
at org.apache.solr.core.SolrConfig.<init>(SolrConfig.java:131)
at org.apache.solr.core.CoreContainer.create(CoreContainer.java:435)
at org.apache.solr.core.CoreContainer.load(CoreContainer.java:316)
at org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.java:133)
at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:94)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3666)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4258)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:634)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:561)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:496)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1203)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:448)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
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.catalina.startup.Bootstrap.start(Bootstrap.java:295)
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.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:219)
Oct 9, 2011 7:35:26 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: user.dir=/usr/local/jakarta/apache-tomcat-5.5.33/bin
Oct 9, 2011 7:35:26 PM org.apache.solr.servlet.SolrDispatchFilter init
INFO: SolrDispatchFilter.init() done
Oct 9, 2011 7:35:26 PM org.apache.solr.servlet.SolrServlet init
INFO: SolrServlet.init()
Oct 9, 2011 7:35:26 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: /home/sampleuser/public_html/apache-solr/example/solr
Oct 9, 2011 7:35:26 PM org.apache.solr.servlet.SolrServlet init
INFO: SolrServlet.init() done
Oct 9, 2011 7:35:26 PM org.apache.solr.core.SolrResourceLoader locateSolrHome
INFO: Using JNDI solr.home: /home/sampleuser/public_html/apache-solr/example/solr
Oct 9, 2011 7:35:26 PM org.apache.solr.servlet.SolrUpdateServlet init
INFO: SolrUpdateServlet.init() done
当我通过shell复制缺少的路径时,我能够导航就好。看起来像Tomcat无法找到solrconfig.xml
。
可能重复 - java.lang中.RuntimeException:找不到资源'solrconfig.xml'](http://stackoverflow.com/questions/1198282/http-status-500-java-lang-runtimeexception-cant-find-resource-solrconfig-xm) – kenorb
它可能是一个错字:'value =“/ home/sampleuser/public_html/apache-solr/example”override =“true”'。属性之间没有空间。 – kenorb