Как найти мой текущий JAVA_HOME в ubuntu?

Как найти мой текущий JAVA_HOME в ubuntu? Я должен установить путь java_home при установке maven.

1
задан 3 May 2014 в 11:20

5 ответов

Если у вас установлена ​​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.

25
ответ дан 24 May 2018 в 08:15
  • 1
    Это было много, чтобы разобраться в том, что мне нужно идти по одному каталогу глубже, но спасибо. – cnizzardini 25 January 2017 в 07:46

Другие переносные опции - это извлечение абсолютного пути 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/
10
ответ дан 24 May 2018 в 08:15
  • 1
    вы можете использовать type -p javac|xargs readlink -f|xargs dirname|xargs dirname (без части экспорта), чтобы узнать каталог без его установки. – Mina Michael 2 October 2017 в 10:23

Чтобы принять во внимание механизм обновлений-альтернатив:

$ update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre'

Вы можете установить переменную окружения следующим образом:

$ export JAVA_HOME="$(update-alternatives --query java | grep 'Value: ' | grep -o '/.*/jre')"
6
ответ дан 24 May 2018 в 08:15

Просто запустите команду

 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 / as java домой. Теперь вы можете экспортировать его в переменную JAVA_HOME

export JAVA_HOME=/usr/lib/jvm/java-8-oracle/

Теперь echo $ JAVA_HOME покажет ей

5
ответ дан 24 May 2018 в 08:15

Я использую это в Ubuntu LTS (14.04 / 16.04):

[ -L /etc/alternatives/java ] && 
  export JAVA_HOME="$(readlink -f /etc/alternatives/java | sed -e 's/\/jre\/bin\/java$//')"
0
ответ дан 24 May 2018 в 08:15

Другие вопросы по тегам:

Похожие вопросы: