wake-up-neo.com

Tomcat 7 setenv.sh wurde nicht gefunden

Ich habe das Apache-Tomcat-7.0 heruntergeladen und extrahiert. Gemäß den Anweisungen in der Datei RUNNING.txt (% CATALINA_BASE%/RUNNING.txt) sollte JRE_HOME in der Datei "setenv.sh" festgelegt werden.

Wo befindet sich diese Datei? Die Dokumentation sagte, es würde sich im Verzeichnis CATALINA_HOME/bin befinden. Diese Datei ist dort jedoch nicht vorhanden.

18
Prakash Raman

Die Dokumentation do erwähnt das Fehlen der setenev.(sh|bat)-Datei:

(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

26
Technext

Erstelle einfach selbst einen; es ist nicht Teil der Verteilung. Es ist nicht so schwer. Für Ihren Fall einfach hinzufügen

JRE_HOME=/path/to/your/Java/installation

in die Datei und machen sie ausführbar (chmod 755 setenv.sh).

Sie können bei Bedarf auch andere Optionen hinzufügen (z. B. -Xmx).

9
mindas

Wenn Sie "setenv.sh" oder "setenv.bat" im Ordner "bin" von Tomcat nicht finden, folgen Sie den folgenden Anweisungen:

  1. Neue Datei im Bin-Ordner von Tomcat erstellen.
  2. Benennen Sie ihn in setenv.sh für linux user oder setenv.bat für windows user um
  3. Jetzt können Sie mehrere Dinge in diese Datei setzen:

JRE_HOME einstellen

Für Linux Benutzer 

JRE_HOME=/path/to/jre/jre6

Für Windows Benutzer

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

Java_OPTS setzen

Für Linux Benutzer

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

Für Windows Benutzer

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

Tomcat nach dem Setzen von Variablen neu starten .

3

Die Antwort von User Mindas ist völlig korrekt: Die setenv.sh-Datei muss entweder im CATALINA_HOME- oder CATALINA_BASE-Verzeichnis erstellt werden, wie der Kommentar in der catalina.sh-Datei anzeigt. 

Es gibt jedoch ein "Huhn und Ei" -Problem, bei dem Tomcat die Position des CATALINA_HOME/bin/-Verzeichnisses erraten muss, wenn die Umgebungsvariable CATALINA_HOME nicht festgelegt ist. 

Ich bin dieser Situation auf einem Ubuntu-Server begegnet, wo Tomcat zum Glück das CATALINA_HOME/bin/-Verzeichnis richtig erraten hat. In einer Einzelbenutzerumgebung, in der eine Anpassung von Tomcat für verschiedene Benutzer nicht erforderlich ist, scheint das Festlegen der Umgebungsvariable Java_HOME oder JRE_HOME im Skript catalina.sh eine Lösung für das Problem "Chicken and Egg" zu sein.

0
kirigiri