【问题标题】:Tomcat 7 setenv.sh is not found找不到Tomcat 7 setenv.sh
【发布时间】:2012-03-17 19:44:39
【问题描述】:

我下载并提取了apache-tomcat-7.0。根据 RUNNING.txt (%CATALINA_BASE%/RUNNING.txt) 中的说明,应该在“setenv.sh”文件中设置 JRE_HOME。

这个文件在哪里?文档说,它将在 CATALINA_HOME/bin 目录中。但是该文件不存在。

【问题讨论】:

    标签: java tomcat tomcat7 setenv


    【解决方案1】:

    文档确实提到了setenv.(sh|bat)文件的缺失:

    (3.4) Using the "setenv" script (optional, recommended)
    
    Apart from CATALINA_HOME and CATALINA_BASE, all environment variables can
    be specified in the "setenv" script. The script is placed either into
    CATALINA_BASE/bin or into CATALINA_HOME/bin directory and is named
    setenv.bat (on Windows) or setenv.sh (on *nix). The file has to be
    readable.
    
        By default the setenv script file is absent. If the script file is present
        both in CATALINA_BASE and in CATALINA_HOME, the one in CATALINA_BASE is
        preferred
    
        For example, to configure the JRE_HOME and CATALINA_PID variables you can
        create the following script file:
    
    On Windows, %CATALINA_BASE%\bin\setenv.bat:
    
      set "JRE_HOME=%ProgramFiles%\Java\jre6"
      exit /b 0
    
    
    On *nix, $CATALINA_BASE/bin/setenv.sh:
    
      JRE_HOME=/usr/java/latest
      CATALINA_PID="$CATALINA_BASE/tomcat.pid"
    

    http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt

    【讨论】:

      【解决方案2】:

      自己创建一个;它不是分发的一部分。这并不难。对于您的情况,只需添加

      JRE_HOME=/path/to/your/java/installation
      

      到文件并使其可执行 (chmod 755 setenv.sh)。

      如有必要,您还可以添加其他选项(例如-Xmx)。

      【讨论】:

      • 不应该是export JRE_HOME=...吗?
      • Ghm,我对CATALINA_OPTS 使用了类似的命令,它无需导出即可工作。 OP 可以以任何方式确认这一点。
      【解决方案3】:

      如果在tomcat的bin文件夹中没有找到“setenv.sh”或“setenv.bat”,请按照如下设置:

      1. 在tomcat的bin文件夹中新建文件。
      2. linux 用户将其重命名为setenv.shwindows 用户将其重命名为setenv.bat
      3. 现在您可以在此文件中设置多个内容:

      设置 JRE_HOME

      对于linux用户

      JRE_HOME=/path/to/jre/jre6
      

      对于Windows用户

      set JAVA_HOME=C:\Path\to\jre\jdk6
      

      设置 JAVA_OPTS

      对于linux用户

      JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx512m -DFOOBAR_CONFIGURATION_FILE=file:///C:/foobar.properties"
      

      对于windows用户

      set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx512m -DFOOBAR_CONFIGURATION_FILE=file:///D:\foobar.properties"
      

      设置变量后重启tomcat。 就是这样。

      【讨论】:

      • 太棒了!为我工作
      • 这些选项通常放在 CATALINA_OPTS 虽然 JAVA_OPTS 也被内部 Tomcat 命令使用:停止进程、版本命令等。
      【解决方案4】:

      用户 Mindas 的回答是完全正确的:需要在 CATALINA_HOMECATALINA_BASE 目录中创建 setenv.sh 文件,正如 catalina.sh 文件中的注释所示。

      然而,在CATALINA_HOME环境变量未设置的情况下,Tomcat必须猜测CATALINA_HOME/bin/目录的位置,这是一个“鸡与蛋”的问题。

      我在 Ubuntu 服务器上遇到过这种情况,幸运的是 Tomcat 正确猜测了 CATALINA_HOME/bin/ 目录。对于不需要为不同用户定制 Tomcat 的单用户环境,似乎在catalina.sh 脚本中设置JAVA_HOMEJRE_HOME 环境变量将是解决“鸡和蛋”问题的方法.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-19
        • 2014-09-08
        • 2017-06-22
        • 1970-01-01
        • 2016-07-15
        • 1970-01-01
        • 2014-10-18
        • 2014-07-18
        相关资源
        最近更新 更多