java 未找到Tomcat 7 setenv.sh

q3qa4bjr  于 2023-01-01  发布在  Java
关注(0)|答案(5)|浏览(176)

我下载并解压缩了apache-tomcat-7.0。根据RUNNING.txt(% Catalina _BASE%/RUNNING.txt)中的说明,它应该在“www.example.com“文件中设置JRE_HOMEsetenv.sh。
这个文件在哪里?文档说,它应该在 Catalina _HOME/bin目录。但是这个文件不存在。

pvcm50d1

pvcm50d11#

文档 * 未 * 提及缺少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

k7fdbhmy

k7fdbhmy2#

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

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

并使其可执行(chmod 755 setenv.sh)。
如有必要,您还可以添加其他选项(例如-Xmx)。

ttcibm8c

ttcibm8c3#

如果您在setenv.shtomcat的bin文件夹中找不到“www.example.com“或“setenv.bat”,请按照以下步骤操作:
1.在tomcat的bin文件夹中创建新文件。
1.对于linux用户,将其重命名为setenv.sh;对于windows用户,将其重命名为setenv.bat
1.现在您可以在此文件中设置多项内容:

  • 设置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。就这样。

cbeh67ev

cbeh67ev4#

用户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环境变量似乎是解决“鸡和蛋”问题的一种方法。

5rgfhyps

5rgfhyps5#

在我的例子中,我下载了Tomcat for Windows。它还附带了Linux shell脚本,所以我创建了一个“setenv.sh”,并试图从Windows Subsystem for Linux运行它,但得到了上面的错误。问题是非二进制shell脚本是为Windows格式化的,Linux不知道如何运行它们。在将它们转换为Linux后,它能够识别并运行脚本。请尝试以下操作从Windows转换到Linux:

dos2unix $CATALINA_HOME/bin/*.sh

相关问题