当我从 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
有什么想法可以解决吗?