2012-04-12 1 views
4

Как представляется, официальный ответ о том, где можно установить JAVA_HOME в системе Linux, по крайней мере, я не нашел (смотрел веб-сайт Oracle и некоторые Google FU). Многие форумы и комментарии точка в настройке его в/и т.д./профиль или даже/и т.д./Bashrc/(или /etc/bashrc.bashrc), но в моей системе оба эти файлы заголовков достаточно специфичны о созданииКаков наилучший способ установки системы JAVA_HOME в Linux?/etc/profile или /etc/profile.d/custom.sh?

" скрипт оболочки custom.sh в /etc/profile.d/ [...], так как это будет предотвратить необходимость объединения в будущих обновлениях. "

вместо прямой модификации файлов.

По этой причине я думал сценарий custom.sh оболочки помещен в /etc/profile.d это путь, но я мог бы что-то, следовательно, этот вопрос =)

Пожалуйста, простите меня, если я не хватает пропустил официальный документ и просто разместил ссылку!


+2

Зависит от вашего дистрибутива. Вот о каких документах вы должны смотреть. – Mat

+0

Это зависит от распределения (как уже указывал @Mat), но что бы вы ни делали: не редактируйте его в bashrc, так как это не повлияет на разные оболочки./etc/profile должен работать в большинстве случаев. (Этот вопрос был бы более уместным для [SuperUser] (http://superuser.com) или [UNIX и Linux] (http://unix.stackexchange.com), хотя) – jorey

+0

Я колебался с публикацией на SuperUser, потому что это JDK/JRE, может быть, админы будут отмечать и двигаться туда? Я не думаю, что смогу переместить его сам. Что касается зависимости от зависимостей от rpms, то «yum install» из официального репозитория, похоже, не изменяет/etc/profile и не добавляет файл в файл /etc/profile.d, но он должен установить JAVA_HOME где-то, верно? Установить документы довольно тонкие и не нашли упоминаний о том, как установить JAVA_HOME в любом официальном документе для CentOS и RHEL. –

ответ

5

Вы очень ответили на свой вопрос с началом абзаца «По этой причине ...». Единственный раз, когда я редактирую /etc/profile, когда я меняю какое-то значение в нем (вместо того, чтобы добавлять что-то).

При добавлении различных программных пакетов, требующих изменения профилей пользователей, большинство дистрибутивов добавляют соответствующий сценарий в каталог /etc/profile.d, а установленный базой сценарий /etc/profile имеет вызов всех исполняемых скриптов в этом каталоге. (Аналогично, обновление или удаление пакета, поставляемого с дистрибутивом, будет иметь скрипт в подкаталоге, который был изменен или удален.)

7

Я обычно делаю файл java_dev.sh в /etc/profile.d/, содержащий:

export JAVA_HOME=/opt/javahome 
export M2_HOME=/opt/mavenhome 
export PATH=${JAVA_HOME}/bin:${M2_HOME}/bin:${PATH} 

или тому подобное. Я использую это на всех Linuxen, которые я часто использую, Ubuntu, RH, Fedora ...