Как найти мой текущий JAVA_HOME в Ubuntu? Я должен установить путь java_home при установке maven.
Как найти мой текущий JAVA_HOME в Ubuntu? Я должен установить путь java_home при установке maven.
Ответы:
Введите в терминале,
echo $JAVA_HOME
Показать путь к переменной JAVA_HOME.
ЕСЛИ НИЧЕГО НЕ ЯВЛЯЕТСЯ, ТОГДА УСТАНОВИТЕ ЭТО
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
Это зависит от вашего типа и версии JDK
Для отображения следуйте первой команде.
Следуйте этому посту для использования различных JDK или переключения между 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.
Если у вас есть 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/
type -p javac|xargs readlink -f|xargs dirname|xargs dirname
(без части экспорта), чтобы узнать каталог, не устанавливая его.
Чтобы учесть механизм обновления альтернатив:
$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'
Вы можете установить переменную окружения следующим образом:
$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"
/jre
. Вы можете попробоватьexport JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | sed -e 's/Value: //;s?/jre/bin/java??;')"
Просто запустите команду
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 home. Теперь вы можете экспортировать его в переменную 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
Для Java 9 и более поздних версий:
Этот ответ https://askubuntu.com/a/657468/963 использует вложенный механизм Nashorn JavaScript 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