2013-03-25 156 views
0

当我从IDE部署我.war文件到Tomcat我定义:的Apache Tomcat环境变量

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

然而,当我把它部署到远程机器,我需要定义的参数。我按照书上说的,我必须定义到$ TOMCAT_HOME/conf目录/卡塔利娜/本地主机的XML文件中:

<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 

任何想法解决它?

+0

solr在远程机器上的安装位置?路径/ usr/share/solr_h是否存在,并且用户tomcat运行时是否拥有该文件夹的权限? – Jayendra 2013-03-26 03:53:12

回答

0

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