Как установить 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?

838   14  

14 ответов:

  1. find /usr/lib/jvm/java-1.x.x-openjdk
  2. vim /etc/profile

    добавить sudo, если вы вошли в систему как непривилегированный пользователь, т. е. sudo vim

  3. нажмите 'i', чтобы войти в режим вставки
  4. добавить:

    export JAVA_HOME="path that you found"
    
    export PATH=$JAVA_HOME/bin:$PATH
    
  5. выйдите из системы и войдите снова, перезагрузитесь или используйте source /etc/profile чтобы немедленно применить изменения в текущей оболочке

для всех пользователей, я бы рекомендовал поместить следующую строку в /etc/profile

export 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 сохраните файл и выйдите из файл

выше для одного пользователя. Для всех пользователей, вы должны следовать ниже шаги

Шаг 1gedit /etc/profile

Шаг 2export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

Шаг 3export 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)

ответ дается предыдущие сообщения является действительным. Но ни один ответ не является полным в отношении:

  1. изменение/etc / профиля не рекомендуется просто по причине (как указано в/etc / profile):
  • Это не хорошая идея, чтобы изменить этот файл, если вы не знаете, что вы делаете. Это гораздо лучше, чтобы создать custom.sh сценарий оболочки в / etc / профиль.d / чтобы внести пользовательские изменения в вашу среду, как это предотвратит необходимость слияния в будущих обновлениях.*
  1. Так как указано выше создать /etc/profile.d/custom.sh файл для пользовательских изменений.

  2. теперь, чтобы всегда обновляться с новыми версиями Java устанавливается, никогда не ставьте абсолютный путь, вместо этого используйте:

#Если сделать jdk как java home

экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/и javac | СЭД "s:/bin/javac::")

или

#Если сделать jre как java home

экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/Ява | СЭД "s:/bin/java::")

  1. и не забудьте иметь #! / 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

    Ничего не найдено.