0
votes

$ Java_Home ne dirige pas la dernière installation Java

J'ai un Centos 7 VM. J'ai récemment installé 1.8.0_251 code> jdk version. La version JDK précédente était 1.8.0_172 code>. J'ai inséré les lignes suivantes à un Custom.sh code> script dans /etc/profile.d / code> pour affecter la nouvelle version Java Version à l'échelle.

[igwstuser@integrator1 ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_172-amd64/
[igwstuser@integrator1 ~]$ sudo su
[root@integrator1 igwstuser]# echo $JAVA_HOME
/usr/java/jdk1.8.0_251-amd64/


5 commentaires

Vous êtes-vous sûr de vous déconnecter et de vous connecter à nouveau après l'ajout personnalisé.sh ? Avez-vous vérifié igwstuser 's .bstrucc et .bash_profile pour une ligne qui remplace?


@ThaTherGuyy: Oui, je me suis déconnecté et connecté. Oui coché igwstuser 'S .bstructrc et .bash_profile . Pas de lignes primordiales


Quelles sont les autorisations sur /etc/profile.d/custom.sh? Qui peut le lire?


@jsbillings: Vous êtes un génie. Je n'avais pas défini l'accès lu à d'autres utilisateurs dans personnalisé.sh . Merci.


@jsbillings: veuillez poster cela comme une réponse afin que je puisse accepter


3 Réponses :


1
votes
  • Avez-vous vérifié votre BACHRC comme "igwstuser"?
  • est-il pointant vers la version Java droite?

    Faites cela simplement et vérifiez quelle version Java il pointe avec Cat ~ / .BASHRC

    Si vous voyez une autre version Java, utilisez l'éditeur de texte défini comme valeur correcte pour export java_home =

    Après avoir apporté les modifications nécessaires, n'oubliez pas de Source BASHRC pour apporter des modifications disponibles avec Source ~ / .BASHRC


5 commentaires

No Java_Home défini à ~ / .bashrc . Java_Home fonctionne bien pour l'utilisateur root


Il suffit de définir Java_Home dans Bashrc et Source Bashrc, cela fonctionnera bien


Oui c'est vrai. Mais je veux comprendre où provient cette ancienne version


exécuter env pour afficher toutes vos variables env, essayez de déterminer où avez-vous défini autre Java_Home


Cochez ce fichier - /etc/java/java.conf Il devrait avoir quelque chose comme ci-dessous la ligne de ligne de toutes les installations JVM_ROOT = / USR / LIB / JVM permettra d'identifier toutes les versions Java installées. Même "env" peut montrer aucun résultat et echo $ java_home peut retourner le résultat vide, mais toujours Java fonctionnera bien (peut être dû à la configuration dans ce fichier). De plus, je pense que "alternatives --config java" peut choisir la disponibilité de Java à partir de ce fichier de configuration. Donc, je pense que votre ancienne version de Java vient quelque part d'ici



1
votes

/etc/profile.d est destiné aux utilisateurs globaux, pour Linux env, ce fichier exécute d'abord, puis ~ / .bash_rc et ~ / .bash_profile pour les utilisateurs individuels.
Vous devez vérifier cet utilisateur intégrateur1 'S ~ / .bashrc et ~ / .bash_profile , existe-t-il un ensemble Java_Home. Si c'est le cas, changez-le à votre dernier Java_Home. Ensuite, source it.


3 commentaires

No java_home défini à igwstuser 's .bstrucc et .bash_profile


Vous pouvez essayer d'ajouter le nouveau java_home == "/ usr / java / jdk1.8.0_251-AMD64 /" dans ~ .bstrucc, puis le source. Cela devrait fonctionner.


Oui c'est vrai. Mais je veux comprendre où provient cette ancienne version



1
votes

autorisations sur /etc/profile.d/custom.sh doit être ouverte afin que tous les utilisateurs puissent lire le fichier pendant la connexion. Seule la racine peut la lire si seule la racine obtient le réglage.


0 commentaires