Tomcat和CATALINA_HOME

时间:2012-02-07 11:45:44

标签: java tomcat environment-variables

我正在搞乱Tomcat服务器,我觉得有些奇怪的事情发生了。我从apache网站下载了Tomcat 7(不是RPM而是tar.gz)。据我所知,应该设置CATALINA_HOME和CATALINA_BASE环境变量,但是当我在终端上导出时我看不到它们中的任何一个,但服务器通过bin / startup.sh启动正常,它甚至说

Using CATALINA_BASE:   /home/andrzej/apache-tomcat-7.0.25
Using CATALINA_HOME:   /home/andrzej/apache-tomcat-7.0.25
Using CATALINA_TMPDIR: /home/andrzej/apache-tomcat-7.0.25/temp
Using JRE_HOME:        /usr/lib/jvm/jre
Using CLASSPATH:       /home/andrzej/apache-tomcat-7.0.25/bin/bootstrap.jar:/home/andrzej /apache-tomcat-7.0.25/bin/tomcat-juli.jar

我认为其他日期变量已设置,但现在我尝试将它们与keytool一起使用以生成证书,我注意到它们不在那里。 我错过了什么,因为即使我看不到它们一切正常(启动/关闭和使用tomcat进行eclipse)?

2 个答案:

答案 0 :(得分:4)

这些环境变量是可选的。如果系统上没有设置,Tomcat将根据当前运行的脚本(startup.sh等)的位置设置一些默认值,只要Tomcat正在运行,就会使用该默认值。如果你知道Shell脚本语言,只需在编辑器中打开catalina.sh文件并阅读它。

答案 1 :(得分:4)

如果您查看catalina.sh(从startup.sh调用),您会注意到如果未设置CATALINA_HOME,它会自动将其设置为程序可执行文件之上的一个级别:

[ -z "$CATALINA_HOME" ] && CATALINA_HOME=`cd "$PRGDIR/.." ; pwd`

和CATALINA_BASE,如果不存在,则设置为等于CATALINA_HOME:

if [ -z "$CATALINA_BASE" ] ; then
  CATALINA_BASE="$CATALINA_HOME"
fi

因此没有真正要求设置变量。