Я новичок в системе 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?
java
linux
java-home
path-variables
Bosco
источник
источник
JAVA_HOME
, тоже не помешает его настройке.source /etc/profile
чтобы изменения вступили в силу немедленно!/etc/profile.d/jdk.sh
плавающий в моей системе.Для всех пользователей я бы рекомендовал разместить следующую строку в
/etc/profile
Это будет обновляться динамически и хорошо работает с системой альтернатив . Обратите внимание, что обновление будет происходить только в новой оболочке входа в систему.
источник
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")
вместо этого использовать только простое использование JRE (даже без головы) - обратите внимание, что я использую простоjava
, а неjavac
readlink
и обновить / обновить совместимое решение, даже это 5-летняя тема. Я только рекомендую не редактировать / etc / profile, а поместить ваш экспорт в пользовательский файл, например/etc/profile.d/java_environment.sh
, возможно, вам придетсяchmod +x java_environment.sh
перезагрузиться.dirname
решение. Если вы похожи на меня и хотите понять, что здесь происходит, это простая замена соответствующего текста из ввода на пустую строку. Символом «замены» по умолчанию является символ/
, но если вы последовательны, вы можете заменить его на/
что угодно. В этом случае это двоеточия, как мы используем/
для разделителей пути.Вы можете использовать / etc / profile или лучше файл, такой как /etc/profile.d/jdk_home.sh
Вы должны помнить, что этот файл загружается только с новыми оболочками для входа в систему. То есть после bash -l или нового сеанса gnome, и что он не меняется с новыми версиями Java.
источник
/etc/profile.d/*.sh
чтобы ваш файл нужно было вызывать,jdk_home.sh
чтобы он был получен/etc/profile.d/jdk_home.sh
Это гораздо более чистый ответ, по крайней мере, для Ubuntu ,/etc/profile
уже с таким количеством логики. Не кажется мудрым, чтобы добавить больше на это ...Ни один из других ответов не «прилипал» ко мне в RHEL 7, даже устанавливая
JAVA_HOME
иPATH
прямо/etc/profile
или~/.bash_profile
не работая. Каждый раз, когда я пытался проверить,JAVA_HOME
был ли установлен, он получал пустым:То, что я должен был сделать, это установить скрипт в
/etc/profile.d/jdk_home.sh
:Первоначально я пренебрег первой строкой (the
#!/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 / default
Где latestJavaRelease - это версия, которую вы хотите использовать
затем экспортируйте JAVA_HOME = / usr / java / default
источник
Ответ дан, предыдущие посты действительны. Но ни один ответ не является полным в отношении:
Поэтому, как указано выше, создайте файл /etc/profile.d/custom.sh для пользовательских изменений.
Теперь, чтобы всегда быть в курсе новых версий Java, никогда не ставьте абсолютный путь, вместо этого используйте:
источник
Скопируйте путь к файлу bin, который вы установили
откройте терминал и отредактируйте файл окружения, набрав следующую команду,
В этом файле добавьте следующую строку (заменяя
YOUR_PATH
только что скопированный путь):Этого должно быть достаточно для установки переменной среды. Теперь перезагрузите этот файл:
Теперь проверьте это, выполнив:
источник
/usr/lib/jvm/default-java/
В Linux я добавляю эту строку в мой ~ / .profile:
источник
Это очень простой скрипт для решения проблемы
И для тестирования:
источник
Шаг 1 - проверьте текущую версию Java по "echo $ JAVA_HOME"
Шаг 2 - vim / etc / profile
Шаг 3 - В конце файла вы найдете экспорт JAVA_HOME, нам нужно указать новый путь, убедиться, что он не относительный.
Шаг 4 - Сохранить и выйти: wq
Шаг 5 - «источник / etc / profile /», это выполнит изменение
Шаг 6 - Снова сделайте эхо $ JAVA_HOME - изменение будет отражено.
источник
1 ... Использование комбинации клавиш
Ctlr
+Alt
+T
для открытия терминала2 ... Выполните следующую команду:
3 ... (рекомендуется) Перезагрузите виртуальную машину / компьютер. Вы можете использовать,
source /etc/source
если не хотите перезагрузить компьютер4 ... Использование комбинации клавиш
Ctlr
+Alt
+T
для открытия терминала5 ... Проверенный взнос JAVA_HOME с
Однострочная копия с flob , кредит им
источник
источник
Вероятно, это хорошая идея, чтобы найти любой профиль, который вы редактируете, чтобы избежать необходимости использовать новый логин.
либо: источник / и т.д. / или. /и т.д/
Где тот профиль, который вы редактировали.
источник
Пока мы собираемся настроить 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
источник
Публикация в качестве ответа, поскольку я не имею права комментировать.
Обратите внимание : следуйте принятому ответу, опубликованному "That Dave Guy".
После установки переменных убедитесь, что вы установили соответствующие разрешения для каталога java, где он установлен.
источник
Все операционные шаги (поиск java, родительский каталог, редактирование файла, ...) одно решение
Результат:
Объяснение:
1) Давайте разберем всю команду на части
2) Найти путь Java из команды Java
3) Получить относительный путь из символического пути
4) Получить родительский путь
/usr/lib/jvm/java-11-openjdk-11.0.7.10-1.el8_1.x86_64/bin/java
5) Получить родительский путь
/usr/lib/jvm/java-11-openjdk-11.0.7.10-1.el8_1.x86_64/bin/
источник
В / etc / profile, если вы откроете его, вы узнаете, что НЕ рекомендуется писать в этот файл. Вместо этого создайте скрипт из ваших команд (предположим, test.sh), перейдите в папку /etc/profile.d и поместите туда test.sh. Каждый раз, когда вы перезагружаете экземпляр, он будет автоматически вызываться / etc / profile.
источник
Используйте SDKMAN sdkman.io для переключения между прочим. твой SDK.
Он устанавливает JAVA_HOME для вас.
источник
откройте kafka-run-class.sh с помощью sudo, чтобы написать
Вы можете найти файл kafka-run-class.sh в своей папке kafka : kafka / bin / kafka-run-class.sh
проверьте эти строки
Измените переменную JAVA в части else, чтобы она указала на исполняемый файл java в вашем java / bin. как JAVA = "$ JAVA_HOME / java"
источник
Я использую строку:
в мой ~ / .profile, поэтому он использует базу java-каталога по умолчанию во время входа в систему. Это для Баш.
источник