0

当我从 IDE 将 .war 文件部署到 Tomcat 中时,我定义:

-Dsolr.solr.home=/home/vicita/Desktop/lucene-solr/solr/solr_h 
-Dsolr.data.dir=/home/vicita/Desktop/lucene-solr/solr/solr_h/data

但是,当我将它部署到远程机器时,我必须定义该参数。我遵循的书说我必须在一个 xml 文件中将其定义为 $TOMCAT_HOME/conf/Catalina/localhost :

<Context path="/solr" docBase="/usr/share/tomcat/webapps/solr.war" debug="0" crossContext="true">
    <Environment name="solr/home" type="java.lang.String" value="/usr/share/solr_h/" override="true"/>
</Context>

顺便一提:

/usr/share/solr_h 

是我应该提到的目录。我想知道的第一件事是我没有在这里定义像 solr.solr.home 这样的变量?

我的 .war 找不到该文件夹​​并引发错误的第二件事。我尝试创建 setenv.sh 并输入:

-Dsolr.solr.home=/usr/share/solr_h
-Dsolr.data.dir=/usr/share/solr_h/data

但是,当 Tomcat 启动时,它会说:

/usr/share/tomcat/bin/setenv.sh: line 1: -Dsolr.solr.home=/usr/share/solr_h: No such file or directory
/usr/share/tomcat/bin/setenv.sh: line 2: -Dsolr.data.dir=/usr/share/solr_h/data: No such file or directory
Using CATALINA_BASE:   /usr/share/tomcat
Using CATALINA_HOME:   /usr/share/tomcat
Using CATALINA_TMPDIR: /usr/share/tomcat/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar

有什么想法可以解决吗?

4

1 回答 1

0

localhost 下的 xml 文件与我的 .war 文件的名称不同。我为它分配了与 .war 相同的名称,它已解决。

于 2013-03-26T10:24:19.427 回答