Як знайти свій поточний 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 використовує доданий механізм 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