Zainstalowałem Ubuntu 14.04 Server, wyodrębniłem JDK1.8u5 i Tomcat7 i dodałem następujące pliki do .profile (próbowałem również dodać go do .bashrc z podobnymi [nie] wynikami):
export JAVA_HOME=/opt/java/jdk1.8.0_05
export PATH=$PATH:$JAVA_HOME/bin
kiedy biegam echo $JAVA_HOME
, otrzymuję oczekiwany wynik /opt/java/jdk1.8.0_05
. Mogę również uruchomić java -version
i uzyskać poprawną odpowiedź z Java. jak na razie dobrze.
więc teraz próbuję uruchomić Tomcat (próbowałem również catalina.sh) i otrzymuję:
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
ale ... Właśnie próbowałem echo $JAVA_HOME
i zadziałało?
źródło
/root/.bashrc
nano, jak sugerowałeś, ale wywoływanieuser@ubuntu:~$ source /root/.bashrc
powoduje-bash: /root/.bashrc: Permission denied
i wypróbowanie go z sudosudo: source: command not found
. ponawianie oryginalnej komendy w tym miejscu sprowadza mnie z powrotem do punktu 0.sudo -i
przed sobąsource
. Dzięki za zwrócenie na to uwagi.sudo -i
raz nazywanego source? bez wychodzenia otrzymuję oryginalny komunikat o błędzie ...exit
.Rozwiązanie, którego szukałem, polega na
/etc/environment
tym, że, jak określono w EnvironmentVariables , nie przetwarza skryptów i nie rozwija zmiennych, więc załatwienie następującego ( bez eksportu) załatwiło sprawę:Następnie ponownie uruchomiłem system, aby zmiany odniosły skutek.
źródło
Dodałem JAVA_HOME w
tomcat7.service
skrypcie, ponieważsetenv.sh
nie został pobrany przezcatalina.sh
Kroki:
1. Otwórz plik skryptu usługi tomcat7
sudo gedit /etc/init.d/tomcat7
2.Ustaw JAVA_HOME
3. Uruchom usługę tomcat7
sudo service tomcat7 status
źródło