Я новичок в системе Linux, и мне кажется, что здесь слишком много папок Java.
java -version дает мне:
Когда я пытаюсь собрать проект Maven, я получаю ошибку:
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java
Подскажите, пожалуйста, какие файлы мне нужно изменить для пользователя root и не-root, и где именно находится java?
найдите /usr/lib/jvm/java-1.x.x-openjdk
.
vim /etc/profile
Добавьте sudo, если вы вошли в систему как непривилегированный пользователь, т.е. sudo vim
.
Нажмите 'i', чтобы перейти в режим вставки
добавить:
export JAVA_HOME="путь, который вы нашли"
export PATH=$JAVA_HOME/bin:$PATH
выйдите из системы и войдите снова, перезагрузитесь или используйте source /etc/profile
для немедленного применения изменений в текущей оболочке.
Для всех пользователей, я бы рекомендовал поместить следующую строку в файл/etc/профиль`
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
Это позволит динамически обновлять и хорошо работает с альтернативы система. Но обратите внимание, что обновление будет происходить только в новой оболочки.
Вы можете использовать /etc/profile или лучше файл типа /etc/profile.d/jdk_home.sh
export JAVA_HOME=/usr/java/jdk1.7.0_05/
Вы должны помнить, что этот файл загружается только при новом входе в систему... То есть после bash -l или новой gnome-сессии, и что он не меняется с новыми версиями Java.
Ни один из других ответов на "прилипания" и для меня в RHEL 7, даже установка переменной JAVA_HOMEи
путьпрямо в
/etc/профиль "или"~/.файл не будет работать. Каждый раз, когда я попытался проверить, если переменной 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
Я изначально пренебречь первые строки (#! /Бен/ш
), и он выиграл'т работать без него.
Теперь это'работает с:
$ echo $JAVA_HOME
/opt/ibm/java-x86_64-60/
Это's очень легко установить путь в 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 /и т. д./профиль
Шаг 2 переменной JAVA_HOME экспорт =" в каталоге/usr/lib в/в jvm/java-в 8-пакеты OpenJDK-amd64 в/то"
Шаг-3 экспорт пути=пути$Path:$переменной JAVA_HOME/bin в
Надеюсь, что это помогает. Спасибо!
Делать то, что делает Oracle (как бывший сотрудник Sun я не могу привыкнуть к этому)
ln -s latestJavaRelease /usr/java/default Где latestJavaRelease - это версия, которую вы хотите использовать
затем экспортируйте JAVA_HOME=/usr/java/default
Ответ дан предыдущим постам действителен. Но не один ответ будет завершена в отношении:
- он's не хорошая идея, чтобы изменить этот файл, если вы не знаете, что вы делаете. Это'ы гораздо лучше создать скрипт custom.sh в /и т. д./профиль.д/ того чтобы сделать изменения в вашей среде, как это позволит предотвратить необходимость для слияния в будущих обновлениях.*
Так как говорилось выше создать файл /etc/profile.d/custom.sh для пользовательских изменений.
Теперь, чтобы всегда держать в курсе новых версий Java могут быть установлены, не поставить абсолютный путь, вместо этого используйте:
если делать с JDK как Java дома
экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/и javac | СЭД "и s:/bin/javac::")
или
если JRE и Java для дома
экспорт переменной JAVA_HOME=$(и более ранних версий -Ф /usr/Бен/Ява | СЭД "и s:/bin/java::")
Скопировать папку bin файл, который вы установили
YOUR PATH
откройте терминал и отредактируйте файл среду, введя следующую команду
sudo nano /etc/environment
В этот файл добавьте следующую строку (заменив ПУТЬ_К_ФАЙЛУ
только что скопированный путь):
JAVA_HOME="YOUR_PATH"
Этого должно быть достаточно, чтобы установить переменную окружения. Теперь перезагрузить этот файл:
source /etc/environment
теперь проверьте его выполнение:
echo $JAVA_HOME
На Linux я добавить эту строку в ~/.профиль:
export JAVA_HOME=$(readlink -ze /usr/bin/javac | xargs -0 dirname -z | xargs -0 dirname)
Шаг 1 - проверить текущую версию Java купить и запах мяты;переменной JAVA_HOME Эхо$&;
Шаг 2 - ВИМ /и т. д./профиль
Шаг 3 - В конце файла вы найдете экспорт переменной JAVA_HOME, мы должны обеспечить здесь новый путь, убедитесь, что он не родственник.
Шаг 4 - сохранить и выйти :WQ в
Шаг 5 - на "источник в /etc/Профиль/" Ну, это будет изменить
Шаг 6 - Снова сделать эхо $переменной JAVA_HOME - изменения были отражены.
Вероятно, хорошая идея, чтобы источник любой профиль можно отредактировать, чтобы спасти того, чтобы использовать свежий логин.
либо: источник /и т. д./<профиль> или . /и т. д./<профиль>
Где <профиль> есть независимо от профиля, который вы редактировали.
Пока мы до установки переменной JAVA_HOME, позвольте мне поделиться некоторые преимущества переменную JAVA_HOME или любой другой среде:
Он's легкий для того чтобы обновить версию JDK, не влияя на приложения автозагрузки и файл конфигурации, который указывает на переменной JAVA_HOME. нужно просто скачать новую версию и убедитесь, что ваш переменной JAVA_HOME указывает на новую версию Java. Это лучший преимущество использования переменной среды или ссылки.
переменную JAVA_HOME является кратким и сжатым, а не полный путь к JDK директорию.
переменную JAVA_HOME-это независимость от платформы, т. е. если ваш скрипт запуска использует переменной JAVA_HOME, то он может работать на Windows и Unix без каких-либо изменений, вам просто нужно задать значение переменной JAVA_HOME на соответствующей операционной системе.
Подробнее: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH
Это очень простой скрипт, чтобы решить проблему
export JAVA_HOME_BIN=`which java`
export JAVA_HOME_DIR=`dirname $JAVA_HOME_BIN`
export JAVA_HOME=`dirname $JAVA_HOME_DIR`
И для проверки:
echo $JAVA_HOME
Постинг как ответ, как я Дон'т иметь привилегию комментировать.
Замечание: следовать принятым ответа написал ", что в Дэйве и".
После установки переменных, убедитесь, что вы установили соответствующие разрешения для каталога Java, где он's установленная.
chmod -R 755 /usr/java
Просто добавьте эту команду в файла Docker
RUN echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | tee -a /etc/profile && source /etc/profile && echo $JAVA_HOME
1...с помощью короткого отрезка сделать
+ значок
+ T
для открытия терминала
2...выполните следующую команду:
echo export JAVA_HOME='$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")' | sudo tee /etc/profile.d/jdk_home.sh > /dev/null
3...(рекомендуется) перезапустите виртуальную машину / компьютер. Вы можете использовать источник /и т. д./Источник-Если Дон'т хотите, чтобы перезагрузить компьютер
4...с помощью короткого отрезка сделать
+ значок
+ T
для открытия терминала
echo $JAVA_HOME
Один-лайнер копию от flob, кредит им