- linux-notes.org
- Установка переменных JAVA_HOME / PATH в Unix/Linux
- One thought on “ Установка переменных JAVA_HOME / PATH в Unix/Linux ”
- Добавить комментарий Отменить ответ
- Как найти JAVA_HOME
- 1. введение
- 2. Специфичные для Windows способы поиска JAVA_HOME
- 3. Специфичные для macOS и Linux способы поиска JAVA_HOME
- 4. Использование Java для поиска JAVA_HOME
- 5. Заключение
- Домашний каталог JAVA в Linux
- 10 ответов
- Установите JAVA_HOME в Windows 7, 8, 10, Mac OS X, Linux
- 1. Обзор
- 2. Окна
- 2.1. Windows 10 и 8
- 2.2. Windows 7
- 3. Mac OS X
- 3.1. Один пользователь – Mac OS X 10.5 или новее
- 3.2. Один Пользователь – Более Старые версии Mac OS X
- 3.3. Глобальная настройка
- 4. Linux
- 4.1 Один Пользователь
- 4.2 Глобальная настройка
- 5. Заключение
- How to set JAVA_HOME in Linux for all users
- 22 Answers 22
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:
Пожалуйста, обратите внимание, что файл
/.bashrc похож на
/.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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Как найти JAVA_HOME
Узнайте, что существует несколько способов найти JAVA_HOME, в том числе независимый от платформы.
Автор: baeldung
Дата записи
1. введение
В этом кратком посте мы узнаем, как найти JAVA_HOME в Windows, Mac и Linux.
Как мы все знаем, JAVA_HOME – это переменная среды, которую мы обычно используем для поиска исполняемых файлов java, таких как java и javac .
2. Специфичные для Windows способы поиска JAVA_HOME
Если мы используем Windows в качестве операционной системы, сначала нам нужно открыть нашу командную строку ( cmd ) и ввести:
Если JAVA_HOME определен в нашей среде, то приведенная выше команда распечатает его.
Или мы могли бы попробовать:
Который покажет местоположение исполняемого файла java .
3. Специфичные для macOS и Linux способы поиска JAVA_HOME
Если мы используем macOS или Linux, мы можем открыть наш терминал и ввести:
Если JAVA_HOME определен в нашей среде, то приведенная выше команда распечатает его.
Или мы могли бы попробовать:
Что, вероятно, просто показывает нам /usr/bin/java.
Но на самом деле это не очень полезно, так как это символическая ссылка. Чтобы разгадать это, мы будем использовать dirname и readlink ;
В результате эта команда выводит используемую в данный момент папку java.
4. Использование Java для поиска JAVA_HOME
И, если мы можем запустить java сами, то у нас тоже есть почти независимый от платформы способ:
Выполнение этой команды выводит множество свойств, одним из которых является java.home.
Однако для его анализа нам все равно понадобится инструмент для конкретной платформы.
Для Linux и macOS , давайте использовать grep :
А для Windows давайте использовать findstr :
5. Заключение
С помощью этого быстрого сообщения мы узнали, как найти JAVA_HOME в разных операционных системах.
Если они не сработали, возможно, мы неправильно установили переменную JAVA_HOME при установке Java.
Источник
Домашний каталог JAVA в Linux
есть ли какая-либо команда linux, которую я мог бы использовать, чтобы узнать ? Я попытался распечатать переменные среды («env»), но я не могу найти каталог.
10 ответов
echo $JAVA_HOME напечатает значение, если оно установлено. Однако, если вы не установили его вручную в своих сценариях запуска, он, вероятно, не установлен.
Если вы попытаетесь which java и он ничего не находит, Java не может быть установлен на вашем компьютере или, по крайней мере, не находится на вашем пути. В зависимости от того, какой дистрибутив Linux у вас есть и есть ли у вас root-доступ, вы можете перейти кhttp://www.java.com для загрузки нужной вам версии. Затем вы можете установить JAVA_HOME, чтобы указать этот каталог. Помните, что это просто соглашение и не должно использоваться для определения, установлена ли java или нет.
в Linux вы можете запустить $(dirname $(dirname $(readlink -f $(which javac))))
на Mac вы можете запустить $(dirname $(readlink $(which javac)))/java_home
Я не уверен в windows, но я представляю where javac вы очень близки
Я знаю, что это поздно, но эта команда ищет каталог /usr/, чтобы найти java для вас
FYI, если вы находитесь на Mac, в настоящее время JAVA_HOME находится по адресу
просто еще одно решение, это кросс-платформа (использует java ), и указывает на местоположение jre.
выводит все от java текущие настройки и находит тот, который называется java.home .
чтобы показать значение переменной среды, вы используете:
Так что в вашем случае будет:
если у вас его нет, вы можете добавить в свой :
экспорт JAVA_HOME=$(readlink-f /usr/bin/java | sed «s:bin/java::»)
и она будет динамически меняться при обновлении пакетов.
если $JAVA_HOME определена в вашей среде.
вы можете догадаться об этом из загруженных классов.
этот метод гарантирует, что вы найдете правильное jdk / jre используется в случае нескольких установок.
или через strace :
на терминале, типа:
Если вы ничего не получаете, то ваша переменная среды JAVA_HOME не была установлена. Вы можете попробовать использовать «найти java», чтобы попытаться узнать, где находится ваша установка Java.
вы установили свой JAVA_HOME
- оболочки Korn и bash: экспорт JAVA_HOME=jdk-install-dir
- Bourne shell: JAVA_HOME=jdk-install-dir; экспорт JAVA_HOME
- C shell: setenv JAVA_HOME jdk-install-dir
вот улучшение, захватывая только каталог в stdout:
Источник
Установите JAVA_HOME в Windows 7, 8, 10, Mac OS X, Linux
Краткий обзор того, как установить переменную JAVA_HOME в Windows, Mac OS X и Linux.
Автор: baeldung
Дата записи
1. Обзор
В этой краткой статье мы рассмотрим, как установить переменную JAVA_HOME в Windows, Mac OS X и Linux.
2. Окна
2.1. Windows 10 и 8
- Откройте Поиск и введите дополнительные системные настройки
- В показанных параметрах выберите ссылку Просмотр дополнительных системных настроек
- На вкладке Дополнительно выберите Переменные среды
- В разделе Системные переменные нажмите Создать (или Пользовательские переменные для настройки одного пользователя)
- Установите JAVA_HOME в качестве Имени переменной и путь к установке JDK в качестве Значения переменной и нажмите OK
- Нажмите кнопку OK и нажмите кнопку Применить , чтобы применить изменения
2.2. Windows 7
- На рабочем столе щелкните правой кнопкой мыши Мой компьютер и выберите Свойства
- На вкладке Дополнительно выберите Переменные среды
- В разделе Системные переменные нажмите Создать (или Пользовательские переменные для настройки одного пользователя)
- Установите JAVA_HOME в качестве Имени переменной и путь к установке JDK в качестве Значения переменной и нажмите OK
- Нажмите кнопку OK и нажмите кнопку Применить , чтобы применить изменения
Откройте командную строку и проверьте значение переменной JAVA_HOME :
Результатом должен быть путь к установке JDK:
3. Mac OS X
3.1. Один пользователь – Mac OS X 10.5 или новее
Начиная с OS X 10.5, Apple представила инструмент командной строки ( |usr | libexec/java_home//), который динамически находит верхнюю версию Java, указанную в настройках Java для текущего пользователя.
/.bash_profile в любом текстовом редакторе и добавьте:
Сохраните и закройте файл.
Откройте терминал и выполните команду source, чтобы применить изменения:
Теперь мы можем проверить значение переменной JAVA_HOME :
Результатом должен быть путь к установке JDK:
3.2. Один Пользователь – Более Старые версии Mac OS X
Для более старых версий OS X мы должны установить точный путь к установке JDK:
/.bash_profile в любом редакторе и добавьте:
Сохраните и закройте файл.
Откройте терминал и выполните команду source, чтобы применить изменения:
Теперь мы можем проверить значение переменной JAVA_HOME :
Результатом должен быть путь к установке JDK:
3.3. Глобальная настройка
Чтобы установить JAVA_HOME глобально для всех пользователей, шаги те же, что и для одного пользователя, но используется файл /etc/profile .
4. Linux
Здесь мы, конечно, будем манипулировать ПУТЕМ – так что, если вы не делали этого раньше, вот подробные инструкции о том, как это сделать.
4.1 Один Пользователь
Чтобы установить JAVA_HOME в Linux для одного пользователя, мы можем использовать /etc/profile или /etc/environment (предпочтительно для общесистемной настройки) или
/.bashrc (пользовательская настройка).
/.bashrc в любом текстовом редакторе и добавьте:
Сохраните и закройте файл.
Выполните команду source, чтобы загрузить переменную:
Теперь мы можем проверить значение переменной JAVA_HOME :
Результатом должен быть путь к установке JDK:
4.2 Глобальная настройка
Чтобы установить JAVA_HOME в Linux для всех пользователей, мы можем использовать /etc/profile или /etc/environment (предпочтительно).
Откройте /etc/environment в любом текстовом редакторе и добавьте:
Обратите внимание, что /etc/environment – это не скрипт, а список выражений назначения (поэтому export не используется). Этот файл считывается во время входа в систему.
Чтобы установить JAVA_HOME с помощью /etc/profile, откройте файл и добавьте:
Выполните команду source, чтобы загрузить переменную:
Теперь мы можем проверить значение переменной JAVA_HOME :
Результатом должен быть путь к установке JDK:
5. Заключение
В этой статье мы рассмотрели способы установки переменной среды JAVA_HOME в Windows, Mac OS X и Linux.
Источник
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?
22 Answers 22
Prepend sudo if logged in as not-privileged user, ie. sudo vim
For all users, I would recommend creating a file in /etc/profile.d/java_home.sh the following lines
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.
Now it’s working:
/.bash_profile and used this approach.
Open terminal and type sudo gedit .bashrc
It will ask you your password. After typing the password, it will open the bash file. Then go to end and type:
Then save the file and exit from file
Above is for a single user. For all users, you have to follow below steps
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:
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::»)
- And remember to have #! /bin/bash on the custom.sh file
First you need to find out which Java is installed in your PC and which one to use. For that open terminal with root permission.
Now it will list the available java versions. Select the listed version.
Copy the path till there.
Now open bashrc
add the following commands to the end
after that save the file and exit by pressing Ctrl+S followed by Ctrl+X
Now run the below command:
This is a very simple script to solve the problem
And for testing:
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
Posting as answer, as I don’t have the privilege to comment.
Point to note: follow the accepted answer posted by «That Dave Guy».
After setting the variables, make sure you set the appropriate permissions to the java directory where it’s installed.
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.
All operational steps(finding java, parent dir, editing file. ) one solution
1) Let’s break the full command into pieces
2) Find java path from java command
3) Get relative path from symbolic path
4) Get parent path of /usr/lib/jvm/java-11-openjdk-11.0.7.10-1.el8_1.x86_64/bin/java
5) Get parent path of /usr/lib/jvm/java-11-openjdk-11.0.7.10-1.el8_1.x86_64/bin/
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.
On Linux I add this line to my
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.
Источник