Я установил java через yum на CentOS, однако другой java-программе нужно знать, что такое переменная среды JAVA_HOME. Я знаю все о настройке переменных среды, но что мне установить? java
установлен в /usr/bin/java
, это не может быть там!
На самом деле я нашел это,
это /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/
. Я узнал, что это было сделано, update-alternatives --display java
и он показал мне каталог/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
Я не совсем уверен, но если вы устанавливаете обычную RPMS, значение JAVA_HOME также может быть установлено на это:
/usr/java/default/
РЕДАКТИРОВАТЬ: Я только что проверил на моей домашней системе. Я создал этот файл:
/etc/profile.d/java.sh
Который содержит:
export JAVA_HOME=/usr/java/default/
и я использую официальную версию от Sun: jdk-1.6.0_12-fcs
РЕДАКТИРОВАТЬ: Вот как я настроил Java на моем компьютере :
Загрузите и установите Java JDK из Oracle
Убедитесь, что эта версия Java используется вместо версии OpenJDK с помощью следующих двух команд:
alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
--slave /usr/bin/jar jar /usr/java/default/bin/jar \
--slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
Убедитесь, что для всех пользователей в переменной среды JAVA_HOME установлено правильное значение:
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
/usr/java/default
моем CentOS 6 нет ни одной с установленными OpenJDK 1.6 и 1.7.Вы хотите установить JAVA_HOME в качестве корневого расположения JDK или JRE, например:
Если JDK (комплект разработчика) установлен, ypu, вероятно, хочет, чтобы он указывал на это, иначе используйте путь JRE (среда выполнения Java). Затем, возможно, вы захотите установить переменную среды $ PATH для включения каталога bin:
Если вы используете tomcat, вам также может потребоваться установить CATALINA_HOME для пользователя tomcat.
Чтобы установить это для системы, вы хотите отредактировать свой / etc / profile или добавить файл .sh в папку /etc/profile.d. Для конкретного пользователя вы можете поместить его в файлы пользователя ~ / .profile или ~ / .bash_profile.
источник
Ниже всегда работает идеально для меня:
Это означает, что я могу установить JAVA_HOME как /usr/java/jdk1.6.0_31
источник
Я рассмотрел проблему, если кто-то изменит версию Java, используемую с:
Тогда любая жестко запрограммированная
JAVA_HOME
версия изменится (по крайней мере, это будет на Centos 6.6, на которую я сейчас смотрю). То есть нет/usr/java
.Это не кажется лучшим способом (открытым для отказа), но за 10 минут, которые я потратил на это, это кажется лучшим.
В
/etc/bashrc
я изменил настройку,JAVA_HOME
чтобы быть:Вы должны сделать что-то похожее на MacOSX, но без всего
grep
иsed
разбирать результат. Конечно,alternatives
предлагает аналогично более простое решение.В любом случае, я надеюсь, что помог.
Обновить
Нет, это было бы
JRE_HOME
. JDK / SDK не так очевиден (я буду продолжать искать).alternatives
, Кажется, только о JRE по умолчанию. Я полагаюсь на ответ @Niels или просто устанавливаю Java сyum
и устанавливаю JAVA_HOME на это (трюк в том, где я нашел, где это было установлено!).Я заметил,
java_1.8.0
что это символическая ссылка,/etc/alternatives/java_sdk_1.8.0
и поэтому установите мой $ JAVA_HOME в/usr/lib/jvm/java_1.8.0
. В/etc/bashrc
.источник
Как ни странно, весь смысл наличия переменной окружения JAVE_HOME заключается в том, что вам не нужно указывать путь к каждой программе, он может получить этот путь путем поиска этой переменной.
В любом случае, правильный способ найти переменную окружения для JAVA_HOME - использовать echo:
Выполнение этой команды покажет путь независимо от того, какую версию вы используете, из командной строки.
источник
re: Centos7, обратитесь к файлу /etc/java/java.conf.
в нем указывается, что JAVA_HOME находится в следующем каталоге: / usr / lib / jvm / java
я проверил, это правильная версия JDK я загрузил через Yum, и так ...
мой env не имеет JAVA_HOME, установленного по умолчанию, поэтому я установил его в .bash_profile
источник
Я обнаружил, что менеджер пакетов может размещаться в разных местах, поэтому использование которого (вам нужно явно установить это, если вы используете контейнер), следующее немного менее хрупко
или для JRE
источник