【问题标题】:deploy war in Tomcat [duplicate]在Tomcat中部署战争[重复]
【发布时间】:2011-05-13 07:19:25
【问题描述】:

可能重复:
deploy war in Tomcat

我在 tomcat webapps 文件夹中部署了 solr.war 并将其解压缩。在浏览器上运行它时,我遇到了以下异常。请建议我为此做些什么。

严重:无法启动 SOLR。查看 solr/家庭财产 java.lang.RuntimeException:找不到 类路径中的资源“solrconfig.xml” 或 'solr/conf/', cwd=C:\Program 文件\Apache 软件 Foundation\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) 在 org.apache.solr.core.SolrConfig.(SolrConfig.java:130) 在 org.apache.solr.core.CoreContainer$Initializer.initialize(CoreContainer.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) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:4222) 在 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.startup.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) 在 org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559) 在 java.lang.Thread.run(未知 来源)

【问题讨论】:

    标签: java solr tomcat5.5


    【解决方案1】:

    按照错误提示执行操作:将 solrconfig.xml 放入您的类路径 (C:\Program Files\Apache Software Foundation\Tomcat 5.5\classes) 或 solr/conf/ 文件夹中。

    【讨论】:

    • es:是的,就是说将 solrconfig.xml 放置在类路径中。但问题是我不知道它在谈论哪个类路径
    • 我按照链接 wiki.apache.org/solr/SolrTomcat#Single_Solr_app 做了它所说的。但仍然得到同样的例外。我可能在设置 SOLR_HOME 时做错了。我将其设置为环境变量 SOLR_HOME=C:\Solr\solr\conf 并在 tomcat 中配置为 -Dsolr.solr.home=c:\Solr
    【解决方案2】:

    a) 原因是您没有设置 SOLR_HOME 属性。当您定义 $SOLR_HOME 时,它会查找 SOLR_HOME/solr/conf/solrconfig.xml,它定义了 solr 的数据目录。这个数据目录只不过是 Solr 存储索引的地方。
    b) 另外,您需要在 $TOMCAT_HOME/conf/Catalina/localhost 中添加 SolrContext.xml 文件,该文件指定战争的位置和 solr home。它会自动从该位置获取 solr.war 并将其复制到 webapps 文件夹。

    点击此链接了解详细说明。 http://wiki.apache.org/solr/SolrTomcat#Simple_Example_Install

    【讨论】:

    • 我按照链接wiki.apache.org/solr/SolrTomcat#Single_Solr_app 做了它所说的。但仍然得到同样的例外。我可能在设置 SOLR_HOME 时做错了。我将其设置为环境变量 SOLR_HOME=C:\Solr\solr\conf 并在 tomcat 中配置为 -Dsolr.solr.home=c:\Solr
    • Pål Brattberg,Matt:谢谢大家。现在我没有任何例外。它运行良好。
    【解决方案3】:

    注意 solr 战争在 .war 中没有预配置的“solr/home”和预配置的核心,你必须制作 solr.xml(我使用 Jetty,所以它是上下文目录中的 solr.xml ) 指向具有已配置核心的有效 solr/home。

    我建议您首先查看二进制文件附带的 solr 示例。就个人而言,一旦我在 eclipse http://www.lucidimagination.com/developers/articles/setting-up-apache-solr-in-eclipse 中设置了 solr 环境,我就取得了长足的进步。

    【讨论】:

    • 我按照链接 wiki.apache.org/solr/SolrTomcat#Single_Solr_app 做了它所说的。但仍然得到同样的例外。我可能在设置 SOLR_HOME 时做错了。我将其设置为环境变量 SOLR_HOME=C:\Solr\solr\conf 并在 tomcat 中配置为 -Dsolr.solr.home=c:\Solr
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2015-10-28
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    相关资源
    最近更新 更多