Jak znaleźć mój obecny JAVA_HOME w Ubuntu? Muszę ustawić ścieżkę java_home podczas instalacji maven.
Jak znaleźć mój obecny JAVA_HOME w Ubuntu? Muszę ustawić ścieżkę java_home podczas instalacji maven.
Odpowiedzi:
Wpisz terminal,
echo $JAVA_HOME
Wyświetl ścieżkę zmiennej JAVA_HOME.
JEŻELI NIC SIĘ NIE WYJAŚNI, NALEŻY TO USTAWIĆ
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
Różni się to w zależności od typu i wersji JDK
Aby wyświetlić, wykonaj pierwsze polecenie.
Śledź ten post, aby używać różnych JDK lub przełączać się między JDK
JAVA_HOME doesn't make jdk default, it just makes JAVA_HOME variable set to a path & if you want to use different jdk installed on same machine then check my answer, I have edited it.
Jeśli masz JDK 1.6 (odpowiadający Java 6) lub nowszą wersję, powinieneś mieć program o nazwie jrunscript
w twoim PATH
. Możesz użyć tego, aby znaleźć odpowiedni JAVA_HOME
. Przykład:
$ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/opt/local/jdk1.7.0_76/jre
Możesz ustawić zmienną środowiskową w następujący sposób:
$ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
Pamiętaj, że środowisko JRE nie obejmuje jrunscript
, więc zadziała to tylko wtedy, gdy zainstalujesz JDK, a nie tylko środowisko JRE.
Inną przenośną opcją jest wyodrębnienie absolutnej ścieżki JDK z javac
:
export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`
Ścieżka bezwzględna javac
jest przekazywana dirname
dwukrotnie do usunięcia /bin/javac
z końca. Całkowite rozpakowanie katalogu przebiega następująco:
$ type -p javac
/usr/bin/javac
$ readlink -f /usr/bin/javac
/usr/lib/jvm/java-8-oracle/bin/javac
$ dirname /usr/lib/jvm/java-8-oracle/bin/javac
/usr/lib/jvm/java-8-oracle/bin/
$ dirname /usr/lib/jvm/java-8-oracle/bin/
/usr/lib/jvm/java-8-oracle/
type -p javac|xargs readlink -f|xargs dirname|xargs dirname
(bez części eksportu), aby poznać katalog bez ustawiania go.
Aby wziąć pod uwagę mechanizm aktualizacji alternatyw:
$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'
Możesz ustawić zmienną środowiskową w następujący sposób:
$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"
/jre
. Możesz spróbowaćexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
Po prostu uruchom polecenie
sudo update-alternatives --config java
To da coś takiego
Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java
Z tego masz / usr / lib / jvm / java-8-oracle / as java home. Możesz teraz wyeksportować go do zmiennej JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
Teraz wyświetl echo $ JAVA_HOME
Ustaw zmienne środowiskowe Java
PPA zawiera również pakiet do automatycznego ustawiania zmiennych środowiskowych Java, wystarczy uruchomić polecenie:
sudo apt install oracle-java8-set-default
Z tego artykułu: Zainstaluj Oracle Java 8/9 w Ubuntu 16.04, Linux Mint 18
W przypadku Java 9 i nowszych:
Ta odpowiedź https://askubuntu.com/a/657468/963 korzysta z dołączonego silnika Nashorn JavaScript Nashorn do wydrukowania java.home
właściwości systemowej. Nashorn jest przestarzały, więc alternatywą jest użycie jshell
wprowadzone w Javie 9.
echo 'System.out.println(java.lang.System.getProperty("java.home"));' | jshell -
które na moim systemie Ubuntu 18.10 drukuje:
/usr/lib/jvm/java-11-openjdk-amd64