JAVA_HOME неправильно установлен. Как его сбросить? - PullRequest
12 голосов
/ 10 марта 2012

Когда я пытаюсь запустить mvn (то есть Apache Maven), я получаю error "JAVA_HOME" not set.

Я следую инструкциям для установки переменной JAVA_HOME следующим образом; В терминале:

user@localhost$export JAVA_HOME=/home/user/jdk1.7.0_02/bin/java

user@localhost$export PATH=$PATH:/home/usr/jdk1.7.0_02/bin

Это выглядит правильно, верно? Тогда почему я все еще получаю неправильную JAVA_HOME ошибку?

Ответы [ 5 ]

35 голосов
/ 10 марта 2012

JAVA_HOME обычно должен включать только папку, содержащую папку bin.

Так что в вашем случае

export JAVA_HOME=/home/user/jdk1.7.0_02/

export PATH=$PATH:$JAVA_HOME/bin

В дополнение к поиску местоположения вашего java_home вы можете выполнить эту команду

which java

(Это вернет путь к текущему двоичному файлу Java. Здесь / usr / bin / java)

ls -alh /usr/bin/java

(Это вернет истинный путь к символической ссылке. Здесь его /etc/alternatives/java.

ls -alh /etc/alternatives/java

(Это вернетистинный путь к этой символической ссылке, которая является фактическим путем JAVA HOME)

3 голосов
/ 10 марта 2012
  1. Перейдите в терминал и откройте любой из следующих файлов в любом редакторе (vim, nano и т. Д.):

    # nano /etc/profile
    

    (или)

    # nano /root/.bash_profile
    

    (Вместо root вы также можете изменить свое обычное имя пользователя.)

  2. Теперь выполните следующие команды:

    # export JAVA_HOME="/opt/jdk1.6.0"
    # export PATH="/opt/jdk1.6.0/bin:$PATH"
    
  3. Выход из системыи войдите в систему, теперь проверьте версию Java в вашем терминале, используя следующую команду:

    # java -version
    

    Вывод должен выглядеть примерно так:

    # java -version
    java version “1.6.0″
    Java(TM) SE Runtime Environment (build 1.6.0-b105)
    Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
    
1 голос
/ 02 марта 2015

Вы можете поместить следующее в ваш .bashrc, тогда оно должно быть правильным, даже если вы переключитесь на другую Java.

a=`realpath /usr/bin/java`;
export JAVA_HOME="${a%/bin/java}"
1 голос
/ 10 марта 2012

Нет ... $ JAVA_HOME должен указывать на /home/user/jdk1.7.0_02/

Чтобы предотвратить ошибки типа "/ home / user" против "/ home / usr", $ PATH должен быть"$ PATH: $ JAVA_HOME / bin"

И я рекомендую использовать нативный пакет (yum, apt-get и т. Д.).

0 голосов
/ 10 марта 2012

Потому что это не то, что вы установили для JAVA_HOME.

http://maven.apache.org/download.html

Убедитесь, что в JAVA_HOME указано местоположение вашего JDK, например, экспортируйте JAVA_HOME = / usr /java / jdk1.5.0_02 и что $ JAVA_HOME / bin находится в переменной окружения PATH.

...