Ich habe Ubuntu 14.04 Server installiert, JDK1.8u5 und Tomcat7 extrahiert und Folgendes zu .profile hinzugefügt (ich habe auch versucht, es zu .bashrc hinzuzufügen, mit ähnlichen [Nicht-] Ergebnissen):
export JAVA_HOME=/opt/java/jdk1.8.0_05
export PATH=$PATH:$JAVA_HOME/bin
Wenn ich renne, echo $JAVA_HOME
erhalte ich das erwartete Ergebnis von /opt/java/jdk1.8.0_05
. Ich kann auch ausführen java -version
und die richtige Antwort von Java erhalten. So weit, ist es gut.
Jetzt versuche ich Tomcat zu starten (versucht auch catalina.sh) und bekomme folgendes:
user@ubuntu:~$ sudo /opt/tomcat7/apache-tomcat-7.0.53/bin/startup.sh
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
aber ... ich habe es gerade versucht echo $JAVA_HOME
und es hat funktioniert?
quelle
/root/.bashrc
mit nano hinzugefügt , wie Sie vorgeschlagen haben, aber das Aufrufen vonuser@ubuntu:~$ source /root/.bashrc
Ergebnissen-bash: /root/.bashrc: Permission denied
und das Ausprobieren mit sudo ergibtsudo: source: command not found
. Wiederholen des ursprünglichen Befehls an dieser Stelle bringt mich zurück zu Punkt 0.sudo -i
bevor Siesource
. Vielen Dank für den Hinweis.sudo -i
Quelle , wenn ich sie einmal aufgerufen habe? ohne zuexit
.Ich suchte nach einer Lösung, bei
/etc/environment
der, wie in EnvironmentVariables angegeben , keine Skripts verarbeitet und keine Variablen erweitert werden. Daher hat das Hinzufügen der folgenden Lösung ( ohne Export) den Trick ausgeführt:Dann habe ich das System neu gestartet, damit die Änderungen wirksam werden.
quelle
Ich habe JAVA_HOME im
tomcat7.service
Skript hinzugefügt, dasetenv.sh
es nicht von bereitgestellt wurdecatalina.sh
Schritte:
1.Öffnen Sie die Tomcat7-Dienstskriptdatei
sudo gedit /etc/init.d/tomcat7
2.Stellen Sie JAVA_HOME ein
3.Starten Sie den tomcat7-Dienst
sudo service tomcat7 status
quelle