Не существует «истинного» определения JAVA_HOME
. Эта переменная не используется средой Java Runtime Environment и не имеет спецификации как часть платформы Java.
Это просто соглашение, которое используется некоторыми приложениями, которые работают поверх платформы Java. Поскольку нет стандарта, каждое приложение может свободно создавать свои собственные правила о каталоге, к которому должна относиться эта переменная; вы должны прочитать документацию приложения, чтобы узнать, что ему нужно.
Тем не менее, каждое приложение, которое я нашел, которое использует эту переменную, будет работать, если вы установите его в каталог верхнего уровня установки JDK (не JRE в JDK, но сам JDK). Этот каталог должен содержать поддиректории «bin» и «lib», которые содержат исполняемые файлы java
и библиотеки времени выполнения, соответственно.
Некоторые приложения также будут работать, если вы укажете его на JRE, но если потребуется такие как javac
, он не сработает.
Обычно я указываю JAVA_HOME
в командной строке, когда я запускаю инструмент, чем он есть, потому что я работаю с несколькими версиями Java, например:
JAVA_HOME=/usr/local/jdk1.6.0_29 ant