web-dev-qa-db-fra.com

JAVA_HOME n'est pas défini correctement. Comment le réinitialiser?

Lorsque j'essaie d'exécuter mvn (c'est à dire Apache Maven), je continue à obtenir error "Java_HOME" not set.

Je suis les instructions pour définir la variable Java_HOME comme suit; Dans le terminal:

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

Cela semble correct, non? Alors, comment se fait-il que je reçois toujours l'erreur Java_HOME incorrecte?

12
user113454

Java_HOME ne doit généralement inclure que le dossier contenant le dossier bin.

Donc dans ton cas

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

export PATH=$PATH:$Java_HOME/bin

En plus de trouver l’emplacement de votre Java_home, vous pouvez suivre cette commande

which Java

(Ceci renverra le chemin du binaire Java actuel. Ici, son fichier/usr/bin/Java)

ls -alh /usr/bin/Java 

(Cela retournera le chemin véritable vers le lien symbolique. Ici, son/etc/alternatives/Java.

ls -alh /etc/alternatives/Java

(Ceci renverra un vrai chemin vers ce lien symbolique qui est le vrai chemin Java HOME)

35
gavi
  1. Allez au terminal et ouvrez l’un des fichiers suivants en utilisant un éditeur de votre choix (vim, nano, etc.):

    # nano /etc/profile
    

    (ou)

    # nano /root/.bash_profile
    

    (Au lieu de root, vous pouvez également changer votre nom d'utilisateur normal.)

  2. Maintenant, lancez les commandes suivantes:

    # export Java_HOME="/opt/jdk1.6.0"
    # export PATH="/opt/jdk1.6.0/bin:$PATH"
    
  3. Déconnectez-vous et connectez-vous au système, vérifiez maintenant la version Java dans votre terminal à l'aide de la commande suivante:

    # Java -version
    

    La sortie devrait ressembler à ceci:

    # 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)
    
3
user1254025

Vous pouvez mettre ce qui suit dans votre .bashrc, alors il devrait être correct même si vous passez à un Java différent.

a=`realpath /usr/bin/Java`;
export Java_HOME="${a%/bin/Java}"
1
Torben

Non ... $ Java_HOME doit pointer vers /home/user/jdk1.7.0_02/

Pour éviter des erreurs telles que "/ home/user" et "/ home/usr", $ PATH doit être "$ PATH: $ Java_HOME/bin"

Et je recommande d'utiliser un paquetage natif (yum, apt-get, etc.).

1
Eduardo Costa

Parce que ce n'est pas ce que vous définissez Java_HOME.

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

Assurez-vous que Java_HOME est défini sur l'emplacement de votre JDK, par exemple. export Java_HOME =/usr/Java/jdk1.5.0_02 et que $ Java_HOME/bin figure dans votre variable d’environnement PATH.

0
Brian Roach