GNU/Linux >> Tutoriels Linux >  >> Linux

JAVA_HOME et PATH sont définis mais java -version affiche toujours l'ancien

Bien qu'il semble que votre configuration soit correcte, il y a quelques points à vérifier :

  1. La sortie de env - spécifiquement PATH .
  2. command -v java vous dit quoi ?
  3. Y a-t-il un java exécutable en $JAVA_HOME\bin et a-t-il le bit d'exécution défini ? Sinon chmod a+x java ça.

J'espère que vous avez source 'ai votre .profile après avoir ajouté/modifié le JAVA_HOME et PATH ?

De plus, vous pouvez vous aider dans la maintenance future de votre installation JDK en écrivant ceci à la place :

export JAVA_HOME=/home/aqeel/development/jdk/jdk1.6.0_35
export PATH=$JAVA_HOME/bin:$PATH

Ensuite, vous n'avez besoin de mettre à jour qu'une seule variable d'environnement lorsque vous configurez l'installation du JDK.

Enfin, vous devrez peut-être exécuter hash -r pour vider le cache du programme Bash. D'autres shells peuvent avoir besoin d'une commande similaire.

Bravo,


update-java-alternatives

Le java l'exécutable est introuvable avec votre JAVA_HOME , cela ne dépend que de votre PATH .

update-java-alternatives est un bon moyen de le gérer pour l'ensemble du système via :

update-java-alternatives -l

Exemple de sortie :

java-7-oracle 1 /usr/lib/jvm/java-7-oracle
java-8-oracle 2 /usr/lib/jvm/java-8-oracle

Choisissez l'une des alternatives :

sudo update-java-alternatives -s java-7-oracle

Comme update-alternatives , cela fonctionne grâce à la gestion des liens symboliques. L'avantage est qu'il gère les liens symboliques vers tous les utilitaires Java à la fois :javac , java , javap , etc.

Je n'ai pas encore vu de JAVA_HOME effet sur le JDK. Jusqu'à présent, je ne l'ai vu utilisé que dans des outils tiers, par ex. Maven.


Linux
  1. Différence entre le tas Java et le tas C natif

  2. Erreur CMake :les variables suivantes sont utilisées dans ce projet, mais elles sont définies sur NOTFOUND

  3. Comment ajouter un fichier .so au java.library.path sous Linux

  4. Comment définir le chemin JAVA_HOME sur Ubuntu ?

  5. Autorisation refusée car les autorisations de recherche sont manquantes sur un composant du chemin, après chmod et chgrp

Qu'est-ce qu'Intel SGX et quels en sont les avantages ?

Comment configurer le chemin JAVA_HOME dans Debian 10

Comment définir le chemin JAVA_HOME dans Ubuntu 20.04 et Ubuntu 22.04

Comment définir les paramètres régionaux et quelles sont les implications de le faire ?

Comment configurer le chemin JAVA_HOME dans Debian 11

En quoi le temps CPU et l'utilisation du CPU sont-ils identiques ?