JAVA_HOME et PATH sont ensemble mais java -version affiche toujours l'ancien
J'utilise Linux Mint Cinnamon 14. J'ai mis le $JAVA_HOME
et $PATH
variables d'environnement dans ~/.profile
comme suit:
export JAVA_HOME=/home/aqeel/development/jdk/jdk1.6.0_35
export PATH=/home/aqeel/development/jdk/jdk1.6.0_35/bin:$PATH
Puis j'ai fait un source ~/.profile
de faire les changements appropriés.
Quand j'execute java -version
de commande pour vérifier l'actif de la version java, il indique la valeur par défaut (déjà installé open-jdk) version de java. Comment puis-je remplacer la valeur par défaut open jdk avec celui que j'ai téléchargé?
Mise à JOUR:
which java
dit /usr/bin/java
$JAVA_HOME/bin/java -version
dit "Permission Denied'
sudo $JAVA_HOME/bin/java -version
(demande de mot de passe, puis) dit Commande introuvable
mais cd $JAVA_HOME/bin
, et ls
montre qu'il est bon répertoire.
- ce n'
which java
dire? - ce n'
$JAVA_HOME/bin/java -version
dire? J'imagine que ce chemin n'est pas correct de sorte qu'il sera ignoré. - peut-être inverser le CHEMIN defenition
export PATH=$PATH:/home/aqeel/development/jdk/jdk1.6.0_35/bin
- si vous êtes toujours dans la même session, alors vous allez avoir à recharger le profil
source ~/.profile
- J'ai édité ma question d'inclure le résultat de la commande que vous avez dit, s'il vous plaît avoir un autre regard. Merci
Vous devez vous connecter pour publier un commentaire.
Bien qu'il ressemble à votre configuration est correcte, il y a quelques points à vérifier:
env
- spécifiquementPATH
.command -v java
vous dit quoi?java
exécutable dans$JAVA_HOME\bin
et qu'il n'a le bit d'exécution est fixé? Si paschmod a+x java
il.J'espère que vous avez
source
'd votre.profile
après l'ajout/modification de laJAVA_HOME
etPATH
?Aussi, vous pouvez vous aider vous-même à l'avenir la maintenance de votre installation de JDK par écrit ceci à la place:
Alors vous avez seulement besoin de mettre à jour une variable env lorsque vous setup d'installation du JDK.
Enfin, vous devrez peut-être exécuter
hash -r
pour effacer le programme Bash cache. D'autres coquilles peuvent avoir besoin d'une commande similaire.Acclamations,
chmod a+x *
dans lebin
répertoire fera sûrement l'affaire. Lire aussiman chmod
et quelque chose sur les autorisations sur unix/linux en général.chmod a+x *
dans lebin
répertoire, le$JAVA_HOME/bin/java
-version résultat est reçu, maisjava -version
est toujours l'ancienne valeur par défaut.PATH
est réglé correctement, essayez de nouveau.update-java-alternatives
La
java
exécutable n'est pas trouvé avec votreJAVA_HOME
, il ne dépend que de votrePATH
.update-java-alternatives
est une bonne façon de le gérer pour l'ensemble du système est par le biais de:Exemple de sortie:
Choisissez l'une des options:
Comme
update-alternatives
, il fonctionne par lien symbolique de gestion. L'avantage est que la gestion des liens symboliques à tous les Java utilitaires à la fois:javac
,java
,javap
, etc.Je suis encore à voir un
JAVA_HOME
effet sur le JDK. Jusqu'à présent, j'ai seulement vu qu'il est utilisé dans les outils tiers, par exemple, Maven.Si vous ne pouvez pas accéder ou d'exécuter du code, ce qui est ignoré si ajouté à votre chemin. Vous avez besoin pour le rendre accessible et praticable ou d'obtenir une copie de votre propre.
Faire un
de voir pourquoi vous ne pouvez pas accéder ou d'exécuter ce programme.
chmod a+x *
dans lebin
répertoire, le$JAVA_HOME/bin/java
-version résultat est reçu, maisjava -version
est toujours l'ancienne valeur par défaut.hash -r
à cause de la coquille de l'enlever est de rappeler des lieux.Lors de la recherche pour java il regarde de gauche à droite dans le chemin des entrées qui sont séparés par des : vous devez ajouter le chemin d'accès de la dernière version du jdk/bin avant /usr/bin, alors, quand il fait des recherches trouverez la dernière et arrêtez de chercher plus loin.
c'est à dire PATH=/usr/java/jdk_1.8/bin:/usr/bin:..... et ainsi de suite.
puis initialiser le profil de l'utilisateur à l'aide de la commande: source ~/.bash_profile
et de vérifier avec: [java]
vous aurez le droit un.
Si vous voulez utilisez Jdk téléchargé à partir d'Oracle site, ce qui a fonctionné pour moi (à l'aide de la Menthe) est à l'aide de update-alternatives:
J'ai couru:
Maintenant, vous pouvez exécuter
sudo update-alternatives --config java
et choisissez votre version de java.export JAVA_HOME="/home/aqeel/development/jdk/jdk1.6.0_35"
déclarationMaintenant, j'ai eu deux Jdk téléchargé (disons que le deuxième a été extrait à /home/aqeel/développement/jdk/jdk-10.0.1).
Comment peut-on changer le JAVA_HOME dynamiquement en fonction du courant de java utilisé?
Ma solution n'est pas très élégant, je suis assez sûr qu'il y a de meilleures options là-bas, mais de toute façon:
Pour changer le JAVA_HOME dynamiquement en fonction de la choisi java alternative, j'ai ajouté cet extrait de l' ~/.bashrc:
Enfin (c'est hors de la portée) si vous devez changer la version de java constamment, vous pourriez envisager:
L'ajout d'un alias à votre ~./bash_aliases:
(Vous pourriez avoir à créer le fichier, et peut-être décommentez la section relative à cette ~/.bashrc)
Il est un moyen facile, il suffit de retirer le lien symbolique de/usr/bin". Il va travailler.
La mise à jour de la
~/.profile
ou~/.bash_profile
ne fonctionne pas parfois. J'ai juste supprimé le JDK 6 etsource
d.bash_profile
.L'essayer:
Ensuite, modifiez/ajoutez votre JAVA_HOME et les variables de CHEMIN d'accès.
Dans Linux Mint 18 Cannelle assurez-vous de vérifier /etc/profile.d/jdk_home.sh j'ai renommé ce fichier à jdk_home.sh.vieux et maintenant mon chemin ne reçois remplacée et je peux appeler java -version et de voir Java 9 comme prévu. Même si j'ai correctement sélectionné Java 9 dans
update-aternatives --config java
ce jdk_home.sh fichier gardé substitution de la variable d'environnement $PATH au démarrage.vérifier les versions de Java sur votre système Linux en utilisant update-alternatives de commande:
Maintenant qu'il y a des candidats appropriés pour changer, vous pouvez passer en Java par défaut de la version disponible à l'Java Jre en exécutant la commande suivante:
Lorsque vous y êtes invité, sélectionnez la version de Java que vous souhaitez utiliser.1 ou 2 ou 3 ou etc..
Maintenant, vous pouvez vérifier la valeur par défaut de Java version modifiée de la manière suivante.
Essayez ceci:
Raison: il pourrait y avoir d'autres éléments de CHEMIN d'accès point à la variante de base java. Si vous mettez d'abord votre préféré JAVA_HOME, le système va utiliser ce un.