找不到Tomcat 7 setenv.sh
Posted
技术标签:
【中文标题】找不到Tomcat 7 setenv.sh【英文标题】:Tomcat 7 setenv.sh is not found 【发布时间】:2012-03-17 19:44:39 【问题描述】:我下载并提取了apache-tomcat-7.0。根据 RUNNING.txt (%CATALINA_BASE%/RUNNING.txt) 中的说明,应该在“setenv.sh”文件中设置 JRE_HOME。
这个文件在哪里?文档说,它将在 CATALINA_HOME/bin 目录中。但是该文件不存在。
【问题讨论】:
【参考方案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”,请按照如下设置:
-
在tomcat的bin文件夹中新建文件。
linux 用户将其重命名为
setenv.sh
,windows 用户将其重命名为setenv.bat
现在您可以在此文件中设置多个内容:
设置 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_HOME
或 CATALINA_BASE
目录中创建 setenv.sh
文件,正如 catalina.sh
文件中的注释所示。
然而,在CATALINA_HOME
环境变量未设置的情况下,Tomcat必须猜测CATALINA_HOME/bin/
目录的位置,这是一个“鸡与蛋”的问题。
我在 Ubuntu 服务器上遇到过这种情况,幸运的是 Tomcat 正确猜测了 CATALINA_HOME/bin/
目录。对于不需要为不同用户定制 Tomcat 的单用户环境,似乎在catalina.sh
脚本中设置JAVA_HOME
或JRE_HOME
环境变量将是解决“鸡和蛋”问题的方法.
【讨论】:
以上是关于找不到Tomcat 7 setenv.sh的主要内容,如果未能解决你的问题,请参考以下文章