Как установить JAVA HOME в Linux для всех пользователей
Я новичок в системе Linux и там, кажется, слишком много папок Java.
Java-версия дает мне:
- java версия "1.7.0_55"
- во время выполнения OpenJDK в окружающей среде (на RHEL-2.4.7.1.el6_5-x86_64 u55-b13)
- 64-разрядная серверная виртуальная машина OpenJDK (сборка 24.51-b03, смешанный режим)
когда я пытаюсь построить проект Maven , я получаю ошибку:
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java
не могли бы вы сказать мне, какие файлы мне нужно изменить для root, а также не-root пользователь и где именно находится java?
14 ответов:
find /usr/lib/jvm/java-1.x.x-openjdk
vim /etc/profileдобавить sudo, если вы вошли в систему как непривилегированный пользователь, т. е.
sudo vim- нажмите 'i', чтобы войти в режим вставки
добавить:
export JAVA_HOME="path that you found" export PATH=$JAVA_HOME/bin:$PATH- выйдите из системы и войдите снова, перезагрузитесь или используйте
source /etc/profileчтобы немедленно применить изменения в текущей оболочке
для всех пользователей, я бы рекомендовал поместить следующую строку в
/etc/profileexport JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")это будет обновляться динамически и хорошо работает с варианты
вы можете использовать/etc / профиль или лучше файл, как /etc/profile.d/jdk_home.sh
export JAVA_HOME=/usr/java/jdk1.7.0_05/вы должны помнить, что этот файл загружается только с новыми снарядами входа.. Поэтому после bash-l или нового gnome-сеанса и что он не меняется с новыми версиями Java.
ни один из других ответов не" торчал " для меня в RHEL 7, даже установка
JAVA_HOMEиPATHнепосредственно в/etc/profileили~/.bash_profileне будет работать. Каждый раз, когда я пытался проверить, еслиJAVA_HOMEбыл установлен, он будет пустым:$ echo $JAVA_HOME (<-- no output)то, что я должен был сделать, это создать скрипт на
/etc/profile.d/jdk_home.sh:#!/bin/sh export JAVA_HOME=/opt/ibm/java-x86_64-60/ export PATH=$JAVA_HOME/bin:$PATHя изначально пренебрег первой строкой (the
#!/bin/sh), и он не будет работать без него.теперь он работает:
$ echo $JAVA_HOME /opt/ibm/java-x86_64-60/
Это очень легко установить путь в Linux . Сделайте следующее:
Шаг 1 откройте терминал и введите
sudo gedit .bashrcШаг 2 он спросит у вас пароль . После ввода пароля, он откроет файл bash . Затем перейдите к концу и введите ниже
Шаг 3
export JAVA_HOME= /usr/lib/jvm/java-8-openjdk-amd64/ export PATH="$PATH:$JAVA_HOME/bin"Шаг 4 сохраните файл и выйдите из файл
выше для одного пользователя. Для всех пользователей, вы должны следовать ниже шаги
Шаг 1
gedit /etc/profileШаг 2
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/Шаг 3
export PATH=$PATH:$JAVA_HOME/binнадеюсь, что это помогает. Спасибо!
делать то, что делает Oracle (как бывший сотрудник Sun я не могу привыкнуть к этому)
ln-s latestJavaRelease / usr / java / default
Где latestJavaRelease-это версия, которую вы хотите использоватьзатем экспортируйте JAVA_HOME=/usr/java / default
скопируйте путь к установленному файлу
"ТВОЙ ПУТЬ"
откройте терминал и отредактируйте файл среды, введя следующую команду,
"sudo nano / etc / environment"
в этом файле добавьте следующую строку (заменив YOUR_PATH только что скопированным путем):
ПЕРЕМЕННОЙ JAVA_HOME="ПУТЬ_К_ФАЙЛУ"
этого должно быть достаточно, чтобы установить переменную окружения. Теперь перезагрузите этот файл:
"источник / etc / environment"
теперь проверьте его выполнение:
echo $JAVA_HOME
в Linux я добавляю эту строку в свой~/.профиль:
export JAVA_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)
ответ дается предыдущие сообщения является действительным. Но ни один ответ не является полным в отношении:
- изменение/etc / профиля не рекомендуется просто по причине (как указано в/etc / profile):
- Это не хорошая идея, чтобы изменить этот файл, если вы не знаете, что вы делаете. Это гораздо лучше, чтобы создать custom.sh сценарий оболочки в / etc / профиль.d / чтобы внести пользовательские изменения в вашу среду, как это предотвратит необходимость слияния в будущих обновлениях.*
Так как указано выше создать /etc/profile.d/custom.sh файл для пользовательских изменений.
теперь, чтобы всегда обновляться с новыми версиями Java устанавливается, никогда не ставьте абсолютный путь, вместо этого используйте:
#Если сделать jdk как java home
экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/и javac | СЭД "s:/bin/javac::")
или
#Если сделать jre как java home
экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/Ява | СЭД "s:/bin/java::")
- и не забудьте иметь #! / bin / bash на custom.sh файл
пока мы настраиваем JAVA_HOME, позвольте мне поделиться некоторыми преимуществами настройки JAVA_HOME или любой другой переменной среды:
1) легко обновить JDK, не влияя на запуск приложения и файл конфигурации, который указывает на JAVA_HOME. вам просто нужно скачать новую версию и убедитесь, что ваш JAVA_HOME указывает на новую версию Java. Это лучшее преимущество использования переменной среды или ссылок.
2) переменная JAVA_HOME короткая и сжатая вместо полной путь к каталогу установки JDK.
3) переменная JAVA_HOME является независимостью от платформы, т. е. если ваш сценарий запуска использует JAVA_HOME, то он может работать на Windows и UNIX без каких-либо изменений, вам просто нужно установить JAVA_HOME на соответствующей операционной системе.
Подробнее: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH
публикация в качестве ответа, так как у меня нет привилегии комментировать.
отметить: следуйте принятому ответу, опубликованному "этим парнем Дэйвом".
после установки переменных убедитесь, что вы установили соответствующие разрешения для каталога java, в котором он установлен.
chmod -R 755 /usr/java
вероятно, хорошая идея, чтобы источник любой профиль вы редактируете, чтобы сохранить необходимость использовать свежий логин.
либо: источник /и т. д./ или . / etc/
где находится любой профиль, который вы редактировали.
Это очень простой скрипт для решения проблемы
export JAVA_HOME_BIN=`which java` export JAVA_HOME_DIR=`dirname $JAVA_HOME_BIN` export JAVA_HOME=`dirname $JAVA_HOME_DIR`и для проверки:
echo $JAVA_HOME
Я использую строку:
export JAVA_HOME=$(readlink -f $(dirname $(readlink -f $(which java) ))/../)в ~/.профиль, поэтому он использует базу каталога java по умолчанию во время входа в систему. Это для Баша.
Comments