How to fix java RuntimeException: Can't find resource 'solrconfig.xml' in classpath?

≯℡__Kan透↙ 提交于 2019-12-01 06:11:30

First off: you don't need to #3 and #4 and 5. #3 isn't really recommended unless you are explicitly customizing the solr.war. #4 and #5 are two different ways to do the same thing - use whichever one is most convenient for you (JNDI vs system properties)

Second: please note that while #3 and #5 are consistent, in #4 you actually specify a different Solr home dir (the parent dir of what you really want)

Third: I think the crux of your problem is file permissions.

The logging is a bit confusing due to SOLR-3264 which causes "instanceDirs" for each core to be refered to erroneously as "Solr Home" but what seems to be happening is that it can't find (or read) your "/home/sampleuser/public_html/apache-solr/example/solr/solr.xml" so it's going into legacy "Single Core" mode where it assumes that you want to use your Solr Home dir as an instanceDir for a (single) Solr Core -- so it then looks for "/home/sampleuser/public_html/apache-solr/example/solr/solrconf.xml" and if it can't find (or read) that file it gives up.

So depending on whether your main concern is that you actually have a solr.xml (pointing to alternate instanceDirs) hat it's not finding, or if you actually have a solrconfig.xml file where it's looking, check the file permissions of those files (and their directories), and make sure they are readable by the effective user of your tomcat server.

(FWIW: Solr 3.6 and up will have better logging when solr.xml is not found and legacy mode is used, and I've opened SOLR-3266 to pursue better ways of logging/erroring on unreadable files in the future)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!