Bien qu'il semble que votre configuration soit correcte, il y a quelques points à vérifier :
- La sortie de
env
- spécifiquementPATH
. command -v java
vous dit quoi ?- Y a-t-il un
java
exécutable en$JAVA_HOME\bin
et a-t-il le bit d'exécution défini ? Sinonchmod 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.