Как найти мой текущий JAVA_HOME в человечности? Я должен установить путь java_home при установке знатока.
Введите в терминале,
echo $JAVA_HOME
Дисплей путь переменной JAVA_HOME.
, ЕСЛИ НИЧТО НЕ ПОЯВЛЯЕТСЯ ТОГДА IT НАБОРА С ЭТИМ
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
, Это будет отличаться согласно Вашему & типа JDK; версия
Поскольку отображение следует за первой командой.
Следуют этот сообщение для использования различного JDK или переключаются между JDK
Если у Вас есть JDK 1.6 (соответствующий Java 6) или более новая установленная версия, у Вас должна быть программа, названная jrunscript
в Вашем PATH
. Можно использовать это для нахождения соответствия JAVA_HOME
. Пример:
$ jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));'
/opt/local/jdk1.7.0_76/jre
Вы могли установить переменную среды как это:
$ export JAVA_HOME="$(jrunscript -e 'java.lang.System.out.println(java.lang.System.getProperty("java.home"));')"
Примечание, которое JRE не включает jrunscript
, таким образом, это будет только работать при установке JDK, не просто JRE.
Другое портативное устройство опции должно извлечь полный путь JDK от javac
:
export JAVA_HOME=`type -p javac|xargs readlink -f|xargs dirname|xargs dirname`
абсолют javac
путь передается dirname
дважды для удаления /bin/javac
из конца. Полное извлечение каталога идет следующим образом:
$ 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/
Принять во внимание механизм альтернатив обновления:
$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'
Вы могли установить переменную среды как это:
$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"
Просто выполните команду
sudo update-alternatives --config java
, которую Это даст чему-то как
Es gibt nur eine Alternative in Link-Gruppe java (die /usr/bin/java bereitstellt): /usr/lib/jvm/java-8-oracle/jre/bin/java
От этого, Вы имеете/usr/lib/jvm/java-8-oracle/как Java домой. Можно теперь экспортировать его в переменную JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
Теперь, $JAVA_HOME эха показывают его
Переменные среды Java набора
PPA также содержат пакет для автоматической установки переменных среды Java, просто команда выполнения:
sudo apt install oracle-java8-set-default
От этой статьи: Oracle Java 8 Установки / 9 в Ubuntu 16.04, Linux Mint 18
Я использую это в Ubuntu LTS (14.04 / 16.04):
[ -L /etc/alternatives/java ] &&
export JAVA_HOME="$(readlink -f /etc/alternatives/java | sed -e 's/\/jre\/bin\/java$//')"
Для Java 9 и позже:
Этот ответ https://askubuntu.com/a/657468/963 использует вложенный механизм JavaScript Nashorn Nashorn для распечатывания java.home
системное свойство. Nashorn удерживается от использования так, альтернатива должна использовать jshell
представленный в Java 9.
echo 'System.out.println(java.lang.System.getProperty("java.home"));' | jshell -
который в моей системе Ubuntu 18.10 распечатывает:
/usr/lib/jvm/java-11-openjdk-amd64
чтобы получить JAVA_HOME
:
update-alternatives --query java | grep 'Value: ' | sed 's/Value: \(.*\)\/bin\/java/\1/'
## e.g. returns </opt/Oracle_Java/jre1.8.0_202>
## if </etc/alternatives/java> points to
## </opt/Oracle_Java/jre1.8.0_202/bin/java>
чтобы установить JAVA_HOME
:
export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed 's/Value: \(.*\)\/bin\/java/\1/')"