2011-05-13 67 views
1

部署戰爭可能重複:
deploy war in Tomcat在Tomcat中

我在Tomcat的webapps目錄部署solr.war和提取它。而在瀏覽器中運行時,我得到以下異常。請給我建議我需要爲此做些什麼。

嚴重:無法啓動SOLR。檢查 的Solr /住房 了java.lang.RuntimeException:在類路徑 或 '的Solr/conf目錄/',CWD =找不到 資源 'solrconfig.xml文件' C:\ PROGRAM 文件\ Apache軟件基金會 \ Tomcat的5.5在 org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:260) 在 org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:228) 在 org.apache.solr .core.Config。(Config.java:101) at org.apache.solr.core.SolrConfig。(SolrConfig.java:130) at org.apache.solr.core.CoreContainer $ Initializer.initialize(C oreContainer.java:134) 在 org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:83) 在 org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221) 在 org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302) 在 org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:78) 在 org.apache.catalina.core。 StandardContext.filterStart(StandardContext.java:3635) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4222) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) 在 org.apache.catalina.core。 StandardHost.addChild(StandardHost.java:544) 在 org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831) 在 org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java: 720) 在 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490) 在 org.apache.catalina.startup.HostConfig.check(HostConfig.java:1217) 在 org.apache .catalina.st artup.HostConfig.lifecycleEvent(HostConfig.java:293) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 在 org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase。 Java的:1306) 在 org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570) 在 org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579) at org.apache.catalina.core.ContainerBase $ ContainerBackgroundProcessor.run(ContainerBase.java:1559) at java.lang.Thread。運行(未知 來源)

回答

2

執行錯誤說什麼:地方solrconfig.xml在類路徑(C:\Program Files\Apache Software Foundation\Tomcat 5.5\classes)或solr/conf/文件夾中。

+0

es:是的,它表示將solrconfig.xml放置在classpath中。但問題是我沒有得到關於它正在談論的類路徑 – Romi

+0

查看更新的答案 –

+0

我按照鏈接wiki.apache.org/solr/SolrTomcat#Single_Solr_app並做了什麼是說。但仍然得到相同的例外。我可能會在設置SOLR_HOME時犯錯。我將它設置爲環境變量SOLR_HOME = C:\ Solr \ solr \ conf,並在tomcat中將其配置爲-Dsolr.solr.home = c:\ Solr – Romi

1

注意solr war沒有預配置的「solr/home」,在.war內部有預配置的核心,你必須創建solr.xml(我使用Jetty,所以它是上下文中的solr.xml目錄)指向一個有配置核心的有效solr/home。

我建議你先看看二進制文件附帶的solr例子。就我個人而言,一旦我在eclipse http://www.lucidimagination.com/developers/articles/setting-up-apache-solr-in-eclipse中建立了一個solr環境,我就大踏步前進。

+0

我遵循鏈接wiki.apache.org/solr/SolrTomcat#Single_Solr_app和這是什麼意思?但仍然得到相同的例外。我可能會在設置SOLR_HOME時犯錯。我將它設置爲環境變量SOLR_HOME = C:\ Solr \ solr \ conf,並在tomcat中將其配置爲-Dsolr.solr.home = c:\ Solr – Romi

2

a)原因是您沒有設置SOLR_HOME屬性。定義$ SOLR_HOME時,它會查找定義solr的數據目錄的SOLR_HOME/solr/conf/solrconfig.xml。這個數據目錄不過是Solr存儲索引的地方。
b)另外,您需要在$ TOMCAT_HOME/conf/Catalina/localhost中添加SolrContext.xml文件,該文件指定了war和solr home的位置。它會從這個位置自動拾取solr.war並將其複製到webapps文件夾中。

按照此鏈接瞭解詳細說明。 http://wiki.apache.org/solr/SolrTomcat#Simple_Example_Install

+0

我遵循鏈接http://wiki.apache.org/solr/ SolrTomcat#Single_Solr_app並做了什麼。但仍然得到相同的例外。我可能會在設置SOLR_HOME時犯錯。我將它設置爲環境變量SOLR_HOME = C:\ Solr \ solr \ conf,並在tomcat中將其配置爲-Dsolr.solr.home = c:\ Solr – Romi

+0

PålBrattberg,Matt:謝謝大家。現在我沒有得到任何例外。它運行良好。 – Romi

+0

我很高興,現在玩得開心! – Matt