2016-11-07 3 views
0

J'ai vraiment essayé d'éviter cette question car il y en a déjà beaucoup. Cependant, je ne pouvais tout simplement pas corriger pour mettre le terminal my à droite JAVA_HOME.JAVA_HOME Ubuntu Terminal

Premières ici les sorties suivantes:

Java Accueil

echo $JAVA_HOME 
/usr/lib/jvm/java-7-oracle 

Java Version:

java -version 
java version "1.8.0_91" 
Java(TM) SE Runtime Environment (build 1.8.0_91-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) 

Maven version:

mvn -version 
Error: JAVA_HOME is not defined correctly. 
We cannot execute /usr/lib/jvm/java-7-oracle/bin/java 

Installée-Java- Version:

/usr/lib/jvm$ ls -l 
total 8 
lrwxrwxrwx 1 root root 24 Mär 22 2014 default-java -> java-1.7.0-openjdk-amd64 
lrwxrwxrwx 1 root root 20 Nov 19 2015 java-1.7.0-openjdk-amd64 -> java-7-openjdk-amd64 
drwxr-xr-x 5 root root 4096 Jan 26 2016 java-7-openjdk-amd64 
drwxr-xr-x 8 root root 4096 Mai 7 2016 java-8-oracle 

Nous pouvons voir que la version java par défaut est définie à 1.7. Cependant, la version affichée avec java --version est 1.8 et maven (ainsi que d'autres applications) est incapable de trouver un correct.

J'ai essayé les choses suivantes:

  • set JAVA_HOME dans etc/environnement pour l'ensemble du système
  • set JAVA_HOME dans profile.d (jvm et jdk)
  • ensemble JAVA_HOME dans un .bashrc auto-construit fichier/etc/
  • set JAVA_HOME dans un fichier auto-construit .bashrc dans usr-répertoire_personnel
  • set JAVA_HOME dans le fichier dot.bashrc dans/etc/
  • changer la version java par défaut avec des alternatives de configuration:

    :

    sudo update-alternatives de la java Il y a 2 choix pour le java alternatif (fourniture/usr/bin/java).

    Selection Path           Priority Status 
    ------------------------------------------------------------ 
    * 0   /usr/lib/jvm/java-8-oracle/jre/bin/java   1075  auto mode 
        1   /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071  manual mode 
        2   /usr/lib/jvm/java-8-oracle/jre/bin/java   1075  manual mode 
    

Quand je mis JAVA_HOME manuellement dans le terminal, il change la variable pour la session du terminal, mais ne fonctionne toujours pas:

export JAVA_HOME=JAVA_HOME=/usr/lib/jvm/java-8-oracle 
echo $JAVA_HOME 
JAVA_HOME=/usr/lib/jvm/java-8-oracle 

java -version 
java version "1.8.0_91" 
Java(TM) SE Runtime Environment (build 1.8.0_91-b14) 
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) 

mvn -version 
Error: JAVA_HOME is not defined correctly. 
    We cannot execute JAVA_HOME=/usr/lib/jvm/java-8-oracle/bin/java 

Ce serait génial si quelqu'un peut me apporter de la lumière dans tout cela. Comme je l'ai compris, les variables du système sont définies dans/etc/environment et pour le bash, le profil.d devrait être chargé ou simplement paramétré dans bashrc afin qu'il soit chargé chaque fois que le terminal est initialisé?

Amitiés

+0

Je l'ai trouvé! C'était le .profile et .bashrc dans mon répertoire personnel. Cependant soyez très prudent lorsque vous éditez ceci.Je l'ai fait en premier avec des permissions root qui ont conduit Lightdm à ne plus fonctionner car cela a changé le propriétaire du répertoire. – kaikun

Répondre

0

Avez-vous également définir votre variable PATH pour corriger java nécessaire? Je suppose que votre PATH et JAVA_HOME pointent vers différents JDK. Cela doit être la raison de différentes sorties de java -version et echo $ JAVA_HOME.

Également utilisez-vous JRE pour JAVA_HOME? Je pense que ça devrait être JDK.

+0

J'ai essayé de définir le chemin comme dans/etc/profile et/etc/environment vers PATH = $ PATH: $ HOME/bin: $ JAVA_HOME/bin.J'ai essayé de tout laisser pointer sur java-8-oracle (JDK) – kaikun

+0

Quelque chose doit alors dépasser votre chemin. Avez-vous essayé .bashrc ou .zshrc si vous utilisez zsh. – deepakborania

+0

Merci je l'ai trouvé dans le .profile de mon home-directory. – kaikun