我下载并解压缩了apache-tomcat-7.0。根据RUNNING.txt(%CATALINA_BASE%/ RUNNING.txt)中的说明,它应该在“setenv.sh”文件中设置JRE_HOME。
此文件位于何处?文档说,它将在CATALINA_HOME / bin目录中。但是这个文件不存在。
答案 0 :(得分:26)
文档 提及缺少setenev.(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"
答案 1 :(得分:9)
自己创造一个;它不是分发的一部分。这并不难。对于您的情况,只需添加
JRE_HOME=/path/to/your/java/installation
到文件并使其可执行(chmod 755 setenv.sh
)。
如有必要,您还可以添加其他选项(例如-Xmx
)。
答案 2 :(得分:3)
如果你找不到" setenv.sh"或" setenv.bat"在tomcat的bin文件夹中,按照以下setps:
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 。 那就是它。
答案 3 :(得分:0)
用户Mindas的回答是完全正确的:有必要在setenv.sh
或CATALINA_HOME
目录中创建CATALINA_BASE
文件,作为catalina.sh
文件中的注释表示。
但是,存在“鸡和蛋”问题,其中Tomcat必须在未设置CATALINA_HOME/bin/
环境变量的情况下猜测CATALINA_HOME
目录的位置。
我在Ubuntu服务器上遇到过这种情况,幸运的是Tomcat正确地猜测了CATALINA_HOME/bin/
目录。对于不需要为不同用户自定义Tomcat的单用户环境,似乎在JAVA_HOME
脚本中设置JRE_HOME
或catalina.sh
环境变量将是“鸡和蛋”问题。