我知道如何使用Tomcat 6配置solr.home
,但我不知道如何使用Glassfish(V2.1)设置solr.home
。我试图将solr.home
设置为.profile
作为研究员:
export solr.home=/home/huenzhao/search/solr
export solr/home=/home/huenzhao/search/solr
export solr.solr.home=/home/huenzhao/search/solr
export JAVA_OPTS=$JAVA_OPTS -Dsolr.solr.home=/home/huenzhao/search/solr
他们都不行。错误是:
HTTP状态500 - solr配置中的严重错误。检查你的日志 有关可能出错的更详细信息的文件。如果你想 solr在配置错误后继续,更改: false为null -------------------------------------------------- ----------- java.lang.RuntimeException:找不到资源'solrconfig.xml' classpath或'solr / conf /', cwd = / home / huenzhao / search / glassfish / domains / domain1 / config at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:194) 在 org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:162) 在org.apache.solr.core.Config。(Config.java:100)at org.apache.solr.core.SolrConfig。(SolrConfig.java:113)at at org.apache.solr.core.SolrConfig。(SolrConfig.java:70)at org.apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.java:117) 在 org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:69) 在 org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:273) 在 org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:385) 在 org.apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.java:119) 在 org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4498) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:5317) 在com.sun.enterprise.web.WebModule.start(WebModule.java:353)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:989) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:973) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:704) 在 com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1627) 在 com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1232) 在 com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:182) 在 com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278) 在 com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1005) 在
...
有人知道吗?
答案 0 :(得分:4)
如果你在tomcat中运行solr作为容器,你可以在这个webapp的XML描述符中指定solr home。 (我的术语可能有点偏离)。
我为每个想要运行的solr实例提供了xml片段,并在xml片段中指定了自己的本地solr主目录。这些片段位于/ conf / Catalina / localhost,每个片段都管理一个solr实例。这样我就可以在同一台机器上拥有多个solr实例,每个实例都有自己的solr home变量。
信息在这里: http://wiki.apache.org/solr/SolrTomcat
特别是
创建一个Tomcat Context片段 将docBase指向 $ SOLR_HOME / apache-solr-1.3.0.war文件 和solr / home到$ SOLR_HOME:
符号链接 或将文件放入 $ CATALINA_HOME / conf目录/卡塔利娜/本地主机/ Solr的-的example.xml, Tomcat会自动选择的地方 它了。 Tomcat删除该文件 取消部署(自动发生) 如果配置无效)。
答案 1 :(得分:1)
尝试设置以下内容:
export JAVA_OPTS="$JAVA_OPTS -Dsolr.solr.home=/home/huenzhao/search/solr/"
答案 2 :(得分:0)
尝试从Java设置Java环境参数或编辑VM配置:
System.setProperty("solr.solr.home", "/home/user/apache-solr-1.4/example/solr");
在我的情况下,我只是将'solr'文件夹复制到glassfish / domains / domain1 / config并且它有效。