Как установить JAVA HOME в Linux для всех пользователей
Я новичок в системе Linux, и, похоже, слишком много папок Java.
Java-версия дает мне:
- java версия «1.7.0_55»
- среда выполнения OpenJDK (rhel-2.4.7.1.el6_5-x86_64 с U55 кол-В13)
- OpenJDK 64-разрядный сервер VM (сборка 24.51-b03, смешанный режим)
когда я пытаюсь построить проект Maven , я получаю ошибку:
не могли бы вы сказать мне, какие файлы мне нужно изменить для root, а также не-root пользователь и где именно находится java?
14 ответов
добавить sudo, если вы вошли в систему как не привилегированный пользователь, т. е. sudo vim
для всех пользователей, я бы рекомендовал поместить следующую строку в /etc/profile
это будет обновляться динамически и хорошо работает с варианты
вы можете использовать /etc/profile или лучше файл типа /etc/profile.d/jdk_home.sh
вы должны помнить, что этот файл загружается только с новыми снарядами входа.. Поэтому после bash-l или нового gnome-сеанса и что он не меняется с новыми версиями Java.
ни один из других ответов не «прилипал» для меня в RHEL 7, даже установка JAVA_HOME и PATH непосредственно в /etc/profile или
/.bash_profile не будет работать. Каждый раз, когда я пытался проверить, если JAVA_HOME был установлен, он будет пустым:
то, что я должен был сделать, это настроить скрипт на /etc/profile.d/jdk_home.sh :
я изначально пренебрег первой строкой ( #!/bin/sh ), и он не будет работать без него.
теперь он работает:
очень легко установить путь в Linux . Сделайте следующее:
Шаг 1 откройте терминал и введите sudo gedit .bashrc
Шаг 2 он спросит у вас пароль . После ввода пароля он откроет файл bash . Затем перейдите в конец и введите ниже
Шаг 3
Шаг 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 / по умолчанию
Где latestJavaRelease-это версия, которую вы хотите использовать
затем экспортируйте JAVA_HOME= / usr/java / default
копировать в папку bin файл установлен
откройте терминал и отредактируйте файл среды, введя следующую команду,
«sudo nano / etc / environment»
в этом файле добавьте следующую строку (заменив YOUR_PATH только что скопированным путем):
этого должно быть достаточно, чтобы установить переменную окружения. Теперь перезагрузите этот файл:
«источник / etc / environment»
теперь проверьте его выполнение:
Эхо $переменной JAVA_HOME
в Linux я добавляю эту строку в свой
ответ дан предыдущим постам действует. Но ни один ответ не является полным в отношении:
- изменение профиля / 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=$(readlink-f/usr/bin | java / sed «s:/bin/java::»)
пока мы до установки JAVA_HOME, позвольте мне поделиться некоторыми преимуществами установки JAVA_HOME или любой другой переменной среды:
1) легко обновить JDK, не влияя на запуск приложения и файл конфигурации, который указывает на JAVA_HOME. вам просто нужно скачать новую версию и убедиться, что ваш JAVA_HOME указывает на новую версию Java. Это лучшее преимущество использования переменной среды или ссылок.
2) переменная JAVA_HOME короткая и сжатая, а не полная путь к каталогу установки JDK.
3) переменная JAVA_HOME-это независимость платформы, т. е. если ваш скрипт запуска использует JAVA_HOME, то он может работать в Windows и UNIX без каких-либо изменений, вам просто нужно установить JAVA_HOME в соответствующей операционной системе.
публикация в качестве ответа, так как у меня нет привилегии комментировать.
отметить: следуйте принятому ответу, опубликованному «этим парнем Дэйвом».
после установки переменных, убедитесь, что вы установили соответствующие разрешения для каталога Java, где он установлен.
вероятно, хорошая идея для источника любого профиля, который вы редактируете, чтобы сохранить необходимость использовать новый логин.
либо: источник /и т. д./ или . / etc/
где находится любой профиль, который вы редактировали.
linux-notes.org
Не знаете как установить переменные JAVA_HOME и PATH для каждого пользователя в соответствии с вашей системой Linux? Тогда эта статья «Установка переменных JAVA_HOME / PATH в Linux» именно для Вас. Я напишу ее в качестве заметки, чтобы потом быстренько вспомнить и прописать Java_Home и Path на ОС для каждого пользователя ( если понадобится).
Установка переменных JAVA_HOME / PATH в Unix/Linux
/ .bash_profile является сценарий запуска, который обычно выполняется один раз. Это конкретный файл используется для команд, которые выполняются, когда нормальные входе пользователя в систему. Common использует для .bash_profile должны установить переменные окружения, такие как PATH, JAVA_HOME, чтобы создать псевдонимы для команд оболочки, и установить права доступа по умолчанию для вновь создаваемых файлов.
Установка JAVA_HOME / PATH для одного пользователя
Зайдите в свой аккаунт (учетную запись) и откройте файл .bash_profile в любом редакторе:
Установите JAVA_HOME как показано используя синтаксис export JAVA_HOME=
. Если ваш путь такой как у меня /usr/lib/jvm/java-1.6.0-openjdk-i386/bin/java, то тогда пропишите:
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-i386/bin/java
Чтобы установить PATH пропишите:
Замените путь /usr/java/jdk1.5.0_07 на свой. Сохраните и закройте файл. Просто выйдите и зайдите обратно (перелогиньетсь), чтобы увидеть изменения или чтобы все изменения вступили в силу, выполните команду:
Чтобы проверить отображение новых настроек, используйте команды:
Совет: Используйте следующую команду, чтобы узнать точный путь Java под UNIX / Linux:
Пожалуйста, обратите внимание, что файл
/.bash_profile но работает только для оболочки Bash и .bashrc работает для каждой новой Bash оболочки.
Установка JAVA_HOME / PATH для всех пользователей
Вам нужно добавить строки в глобальный файл конфигурации в /etc/profile ИЛИ /etc/bash.bashrc чтобы внести изменения для всех пользователей:
Добавьте переменные PATH / JAVA_PATH следующим образом:
Сохраните и закройте файл. Еще раз вам нужно ввести следующую команду, чтобы немедленно активировать настройки:
Но если не будет работать, есть еще 1 способ прописать все это дело! Сейчас я покажу как это можно сделать.
1. Устанавливаем переменные среды:
2. Выполните команду чтобы перезапустить все только что прописанные настройки:
3. Тест, если среда Java успешно установлена, введите команду в терминале чтобы проверить работу:
Установка переменных JAVA_HOME / PATH в Unix/Linux завершена.
One thought on “ Установка переменных JAVA_HOME / PATH в Unix/Linux ”
Спасибо за гайд, работает как часы. Первых пунктов до bash_profile включительно хватило. Версия х64. Пути и названия свои. Проверил еще javac -version. Вопрос к автору. Где эту информацию искать на сайте оракла?
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
How to set JAVA_HOME in Linux for all users
I am new to Linux system and there seem to be too many Java folders.
java -version gives me:
- java version «1.7.0_55»
- OpenJDK Runtime Environment (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
- OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
When I am trying to build a Maven project , I am getting error:
Could you please tell me which files I need to modify for root as well as not-root user and where exactly is java located?
20 Answers 20
Prepend sudo if logged in as not-privileged user, ie. sudo vim
For all users, I would recommend placing the following line in /etc/profile
This will update dynamically and works well with the alternatives system. Do note though that the update will only take place in a new login shell.
You could use /etc/profile or better a file like /etc/profile.d/jdk_home.sh
You have to remember that this file is only loaded with new login shells.. So after bash -l or a new gnome-session and that it doesn’t change with new Java versions.
None of the other answers were «sticking» for me in RHEL 7, even setting JAVA_HOME and PATH directly in /etc/profile or
/.bash_profile would not work. Each time I tried to check if JAVA_HOME was set, it would come up blank:
What I had to do was set up a script in /etc/profile.d/jdk_home.sh :
I initially neglected the first line (the #!/bin/sh ), and it won’t work without it.
/.bash_profile and used this approach. – xpagesbeast Jun 25 ’18 at 15:31
It’s Very easy to set a path in Linux. Do as follows :
Step-1 Open terminal and type sudo gedit .bashrc
Step-2 It will ask you your password. After typing the password ,it will open the bash file. Then go to end and type below
step-4 Then save the file and exit from file
Above is for a single user. For all users, you have to follow below steps
Step-1 gedit /etc/profile
Step-2 export JAVA_HOME=»/usr/lib/jvm/java-8-openjdk-amd64/»
Step-3 export PATH=$PATH:$JAVA_HOME/bin
Hope this helps. Thanks!
Doing what Oracle does (as a former Sun Employee I can’t get used to that one)
ln -s latestJavaRelease /usr/java/default
Where latestJavaRelease is the version that you want to use
then export JAVA_HOME=/usr/java/default
The answer is given previous posts is valid. But not one answer is complete with respect to:
- Changing the /etc/profile is not recommended simply because of the reason (as stated in /etc/profile):
- It’s NOT a good idea to change this file unless you know what you are doing. It’s much better to create a custom.sh shell script in /etc/profile.d/ to make custom changes to your environment, as this will prevent the need for merging in future updates.*
So as stated above create /etc/profile.d/custom.sh file for custom changes.
Now, to always keep updated with newer versions of Java being installed, never put the absolute path, instead use:
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed «s:/bin/javac::»)
#if making jre as java home
export JAVA_HOME=$(readlink -f /usr/bin/java | sed «s:/bin/java::»)
Copy the bin file path you installed
open terminal and edit environment file by typing following command,
In this file, add the following line (replacing YOUR_PATH by the just copied path):
That should be enough to set the environment variable. Now reload this file:
now test it by executing:
On Linux I add this line to my
This is a very simple script to solve the problem
Step 1 — check the current java version by «echo $JAVA_HOME»
Step 2 — vim /etc/profile
Step 3 — At the end of file you will find export JAVA_HOME, we need to provide the new path here, make sure that it is not relative.
Step 4 — Save and exit :wq
Step 5 — «source /etc/profile/», this would execute the change
Step 6 — Again do a echo $JAVA_HOME — change would have been reflected.
1. Using the short cut Ctlr + Alt + T to open terminal
2. Execute the below command:
3. (Recommended) Restart your VM / computer. You can use source /etc/source if don’t want to restart computer
4. Using the short cut Ctlr + Alt + T to open terminal
5. Verified JAVA_HOME installment with
One-liner copy from flob, credit to them
Probably a good idea to source whatever profile you edit to save having to use a fresh login.
either: source /etc/ or . /etc/
Where is whatever profile you edited.
While we are up to setting JAVA_HOME, let me share some benefits of setting JAVA_HOME or any other environment variable:
1) It’s easy to upgrade JDK without affecting your application startup and config file which points to JAVA_HOME. you just need to download new version and make sure your JAVA_HOME points to new version of Java. This is best benefit of using environment variable or links.
2) JAVA_HOME variable is short and concise instead of full path to JDK installation directory.