Tomcat和CATALINA_HOME

3
我正在操作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个回答

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

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


4

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接