Geben Sie JDK für tomcat7 an

41

Ich habe installiert tomcat7(mit apt-get install) und wann immer ich starten möchte, tomcat7heißt es:

* no JDK found - please set JAVA_HOME

Ich habe JAVA_HOMEin meinem bash.bashrcund auch in gesetzt ~/.bashrcund wenn ich ausstelle, echo $JAVA_HOMEsehe ich deutlich, dass diese Variable auf den Stammordner meines jdk zeigt. Kann mir bitte jemand dabei helfen?

Vielen Dank

Hossein
quelle
2
Dies hat mir geholfen, herauszufinden, wo ich tomcat7das zu verwendende JDK finden kann .
Eiswasser
Hier gilt das gleiche. Jetzt weiß ich, wo Kater nach JAVA_HOME sucht.
SlayedBylucifer

Antworten:

78

Sie können dies versuchen:

Drücken Sie einfach Ctrl+ Alt+ Tauf Ihrer Tastatur, um das Terminal zu öffnen. Führen Sie beim Öffnen den folgenden Befehl aus.

gksudo gedit /etc/default/tomcat7

Kommentieren Sie beim Öffnen der Datei die Zeile aus, in der die Variable JAVA_HOME festgelegt ist.

Bildbeschreibung hier eingeben

Speichern Sie den Tomcat7-Server und starten Sie ihn neu.

Mitch
quelle
Beachten Sie, dass ein Upgrade auf JDK 7 diese Antwort stört. Wenn Sie einen symbolischen Link ohne Versionsnummer verwenden, können Sie Upgrades durchführen, ohne die Umgebungsvariablen ungültig zu machen.
Dave Jarvis
1
Funktioniert auch für tomcat8, ersetzen Sie einfach die tomcat7Zeichenfolgen durch tomcat8.
Nachtigall
9

Tomcat verwendet Ihre Umgebungsvariable JAVA_HOME nicht tatsächlich, sondern durchsucht einige vordefinierte Speicherorte und die im Startskript festgelegte Variable JAVA_HOME, wie in anderen Antworten angegeben. Wenn Sie nicht gerne mit dem Tomcat-Startskript herumspielen, können Sie einen Symlink für Ihre bevorzugte Java-Installation erstellen, der von Tomcat übernommen wird.

Zum Beispiel:

ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java
djjeck
quelle
2
Dies steht im Konflikt mit Paketdefault-jre-headless
Tino
5

Terminal öffnen

echo $JAVA_HOME

Kopieren Sie das Ergebnis. Dann

sudo -H gedit /etc/default/tomcat7

Ersetzen Sie sie #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdkdurch die Ausgabe, von der Sie kopiert haben $JAVA_HOME.

user3201101
quelle
2

Fügen Sie einfach die folgende Zeile in / etc / default / tomcat7 hinzu, in der die Variable JAVA_HOME definiert ist

JAVA_HOME=/usr/lib/jvm/java-7-oracle

Führen Sie dann den Befehl aus

sudo service tomcat7 restart
user249933
quelle
0

Überprüfen Sie in der Antwort von Mitch (die akzeptierte Antwort oben) Ihr /usr/lib/jvm/Verzeichnis. In der Regel wird Java dort selbst installiert.

Möglicherweise ist Oracle Java installiert, oder Sie haben eine aktuelle Java-Version installiert. Schauen Sie sich einfach die Verzeichnisse unter an /usr/lib/jvm/und fügen Sie das hinzu, in dem sich Ihr Java befindet.

Für mich war es:

/usr/lib/jvm/java-8-oracle

Also ersetzen

#JAVA_HOME=/some/directory

mit

#JAVA_HOME=/usr/lib/jvm/java-8-oracle

hat den Job für mich gemacht.

Akeshwar Jha
quelle