(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"
在我的例子中,我下载了Tomcat for Windows。它还附带了Linux shell脚本,所以我创建了一个“setenv.sh”,并试图从Windows Subsystem for Linux运行它,但得到了上面的错误。问题是非二进制shell脚本是为Windows格式化的,Linux不知道如何运行它们。在将它们转换为Linux后,它能够识别并运行脚本。请尝试以下操作从Windows转换到Linux:
5条答案
按热度按时间pvcm50d11#
文档 * 未 * 提及缺少
setenv.(sh|bat)
文件:http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt
k7fdbhmy2#
自己创建一个即可;它不是发行版的一部分。这并不难。对于您的情况,只需添加
并使其可执行(
chmod 755 setenv.sh
)。如有必要,您还可以添加其他选项(例如
-Xmx
)。ttcibm8c3#
如果您在setenv.shtomcat的bin文件夹中找不到“www.example.com“或“setenv.bat”,请按照以下步骤操作:
1.在tomcat的bin文件夹中创建新文件。
1.对于linux用户,将其重命名为
setenv.sh
;对于windows用户,将其重命名为setenv.bat
1.现在您可以在此文件中设置多项内容:
对于linux用户
对于Windows用户
对于linux用户
对于windows用户
设置完变量后重新启动tomcat。就这样。
cbeh67ev4#
用户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
环境变量似乎是解决“鸡和蛋”问题的一种方法。5rgfhyps5#
在我的例子中,我下载了Tomcat for Windows。它还附带了Linux shell脚本,所以我创建了一个“setenv.sh”,并试图从Windows Subsystem for Linux运行它,但得到了上面的错误。问题是非二进制shell脚本是为Windows格式化的,Linux不知道如何运行它们。在将它们转换为Linux后,它能够识别并运行脚本。请尝试以下操作从Windows转换到Linux: