Как да намерите JAVA_HOME

1. Въведение

В този бърз пост ще научим как да намерим JAVA_HOME в Windows, Mac и Linux.

Както всички знаем, JAVA_HOME е променлива на средата, която често използваме за намиране на изпълними файлове на Java като java и javac .

2. Специфични за Windows начини за намиране на JAVA_HOME

Ако използваме Windows като операционна система, първо трябва да отворим нашия команден ред ( cmd ) и да напишем:

echo %JAVA_HOME%

Ако JAVA_HOME е дефиниран в нашата среда, тогава горната команда ще го отпечата.

Или можем да опитаме:

where java

Което ще покаже местоположението на изпълнимия файл на java .

3. macOS и специфични за Linux начини за намиране на JAVA_HOME

Ако използваме macOS или Linux, можем да отворим терминала си и да напишем:

echo $JAVA_HOME

Ако JAVA_HOME е дефиниран в нашата среда, тогава горната команда ще го отпечата.

Или можем да опитаме:

which java

Което вероятно просто ни показва / usr / bin / java.

Но всъщност това не е много полезно, тъй като е символична връзка. За да разгадаем това, ще използваме dirname и readlink ;

за Linux:

dirname $(dirname $(readlink -f $(which javac)))

и за macOS:

$(dirname $(readlink $(which javac)))/java_home

В резултат на това тази команда отпечатва използваната в момента java папка.

4. Използване на Java за намиране на JAVA_HOME

И ако можем сами да стартираме java , тогава имаме и почти независим от платформата начин:

java -XshowSettings:properties -version

Изпълнението на тази команда извежда множество свойства, едно от тях е java.home.

За да го анализираме, все пак ще ни трябва инструмент, специфичен за платформата.

За Linux и macOS , нека използваме grep :

java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home' 

И за Windows, нека използваме findstr :

java -XshowSettings:properties -version 2>&1 | findstr "java.home"

5. Заключение

С този бърз пост научихме как да намерим JAVA_HOME в различни операционни системи.

Ако обаче не работят, може би не сме задали правилно променливата JAVA_HOME, докато инсталираме Java.