【问题标题】:Tomcat and CATALINA_HOMETomcat 和 CATALINA_HOME
【发布时间】:2012-02-28 20:18:35
【问题描述】:

我在搞乱 Tomcat 服务器,我认为发生了一些奇怪的事情。我从 apache 网站(不是 RPM 而是 tar.gz)下载了 Tomcat 7。据我了解,应该设置 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)?

【问题讨论】:

    标签: java tomcat environment-variables


    【解决方案1】:

    如果您查看 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
    

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-30
        • 2011-03-27
        • 1970-01-01
        • 1970-01-01
        • 2011-01-17
        相关资源
        最近更新 更多