Je suis nouveau sur le système Linux et il semble y avoir trop de dossiers Java.
java -version me donne:
- version java "1.7.0_55"
- Environnement d'exécution OpenJDK (rhel-2.4.7.1.el6_5-x86_64 u55-b13)
- VM serveur OpenJDK 64 bits (build 24.51-b03, mode mixte)
Lorsque j'essaie de créer un projet Maven, j'obtiens une erreur:
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/java/jdk1.7.0_05/bin/java
Pourriez-vous s'il vous plaît me dire quels fichiers je dois modifier pour l'utilisateur root et non root et où se trouve exactement Java?
JAVA_HOME
, cela ne fait pas de mal de le configurer.source /etc/profile
pour que les modifications prennent effet immédiatement!/etc/profile.d/jdk.sh
flottant dans mon système.Pour tous les utilisateurs, je recommanderais de placer la ligne suivante dans
/etc/profile
Cela se mettra à jour dynamiquement et fonctionnera bien avec le système d' alternatives . Notez cependant que la mise à jour n'aura lieu que dans un nouveau shell de connexion.
la source
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/bin/java::")
place - notez que j'utilise justejava
, pasjavac
readlink
et mise à jour / mise à niveau de la solution compatible, même s'il s'agit d'un fil de discussion vieux de 5 ans. Je recommande seulement de ne pas modifier / etc / profile, mais de placer votre exportation dans un fichier personnalisé, par exemple/etc/profile.d/java_environment.sh
, vous devez peut-être le fairechmod +x java_environment.sh
et redémarrer.dirname
solution maladroite . Si vous êtes comme moi et que vous souhaitez comprendre ce qui se passe ici, il s'agit d'un simple remplacement du texte correspondant de l'entrée par une chaîne vide. Le caractère "par défaut" pour les remplacements est le/
, mais tant que vous êtes cohérent, vous pouvez remplacer le/
par n'importe quoi. Dans ce cas, ce sont les deux points que nous utilisons/
pour les séparateurs de chemin.Vous pouvez utiliser / etc / profile ou mieux un fichier comme /etc/profile.d/jdk_home.sh
Vous devez vous rappeler que ce fichier n'est chargé qu'avec de nouveaux shells de connexion. Donc après bash -l ou une nouvelle session gnome et qu'il ne change pas avec les nouvelles versions de Java.
la source
/etc/profile.d/*.sh
donc votre fichier doit être appeléjdk_home.sh
pour qu'il soit source/etc/profile.d/jdk_home.sh
est la réponse beaucoup plus claire, du moins pour Ubuntu ,/etc/profile
est déjà encombrée de tant de logique. Il n'a pas semblé sage d'en ajouter plus ...Aucune des autres réponses ne "collait" pour moi dans RHEL 7, même le réglage
JAVA_HOME
etPATH
directement/etc/profile
ou~/.bash_profile
ne fonctionnerait pas. Chaque fois que j'essayais de vérifier siJAVA_HOME
était défini, il devenait vide:Ce que je devais faire était de configurer un script dans
/etc/profile.d/jdk_home.sh
:J'ai d'abord négligé la première ligne (la
#!/bin/sh
), et cela ne fonctionnera pas sans elle.Maintenant ça marche:
la source
Il est très facile de définir un chemin sous Linux. Procédez comme suit:
Étape 1 Ouvrez le terminal et tapez
sudo gedit .bashrc
Étape-2 Il vous demandera votre mot de passe. Après avoir tapé le mot de passe, il ouvrira le fichier bash. Ensuite, allez à la fin et tapez ci-dessous
étape 3
étape-4 Ensuite, enregistrez le fichier et quittez le fichier
Ci-dessus est pour un seul utilisateur. Pour tous les utilisateurs, vous devez suivre les étapes ci-dessous
Étape 1
gedit /etc/profile
Étape 2
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/"
Étape 3
export PATH=$PATH:$JAVA_HOME/bin
J'espère que cela t'aides. Merci!
la source
Faire ce qu'Oracle fait (en tant qu'ancien employé de Sun, je ne peux pas m'habituer à celui-là)
ln -s latestJavaRelease / usr / java / default
Où latestJavaRelease est la version que vous souhaitez utiliser
puis exportez JAVA_HOME = / usr / java / default
la source
La réponse est donnée aux messages précédents est valide. Mais pas une seule réponse n'est complète en ce qui concerne:
Ainsi, comme indiqué ci-dessus, créez le fichier /etc/profile.d/custom.sh pour les modifications personnalisées.
Maintenant, pour toujours rester à jour avec les nouvelles versions de Java installées, ne mettez jamais le chemin absolu, utilisez plutôt:
la source
Copiez le chemin du fichier bin que vous avez installé
ouvrez le terminal et éditez le fichier d'environnement en tapant la commande suivante,
Dans ce fichier, ajoutez la ligne suivante (en remplaçant
YOUR_PATH
par le chemin qui vient d'être copié):Cela devrait suffire à définir la variable d'environnement. Maintenant, rechargez ce fichier:
testez-le maintenant en exécutant:
la source
/usr/lib/jvm/default-java/
Sous Linux, j'ajoute cette ligne à mon ~ / .profile:
la source
Étape 1 - Vérifiez la version java actuelle par "echo $ JAVA_HOME"
Étape 2 - vim / etc / profile
Étape 3 - À la fin du fichier, vous trouverez l'export JAVA_HOME, nous devons fournir le nouveau chemin ici, assurez-vous qu'il n'est pas relatif.
Étape 4 - Enregistrer et quitter: wq
Étape 5 - "source / etc / profile /", cela exécuterait le changement
Étape 6 - Faites à nouveau un echo $ JAVA_HOME - le changement aurait été reflété.
la source
1 ... Utilisation du raccourci
Ctlr
+Alt
+T
pour ouvrir le terminal2 ... Exécutez la commande ci-dessous:
3 ... (recommandé) Redémarrez votre VM / ordinateur. Vous pouvez utiliser
source /etc/source
si vous ne voulez pas redémarrer l'ordinateur4 ... Utilisation du raccourci
Ctlr
+Alt
+T
pour ouvrir le terminal5 ... Versement JAVA_HOME vérifié avec
Copie d'une seule ligne de flob , crédit à eux
la source
la source
Probablement une bonne idée de rechercher le profil que vous modifiez pour éviter d'avoir à utiliser une nouvelle connexion.
soit: source / etc / ou. /etc/
Où est le profil que vous avez modifié.
la source
Pendant que nous sommes sur le point de configurer JAVA_HOME, permettez-moi de partager quelques avantages de la configuration de JAVA_HOME ou de toute autre variable d'environnement:
1) Il est facile de mettre à niveau JDK sans affecter le démarrage de votre application et le fichier de configuration qui pointe vers JAVA_HOME. il vous suffit de télécharger la nouvelle version et de vous assurer que votre JAVA_HOME pointe vers la nouvelle version de Java. C'est le meilleur avantage de l'utilisation de variables d'environnement ou de liens.
2) La variable JAVA_HOME est courte et concise au lieu du chemin complet vers le répertoire d'installation JDK.
3) La variable JAVA_HOME est indépendante de la plate-forme, c'est-à-dire que si votre script de démarrage utilise JAVA_HOME, il peut fonctionner sous Windows et UNIX sans aucune modification, il vous suffit de définir JAVA_HOME sur le système d'exploitation respectif.
En savoir plus: http://javarevisited.blogspot.com/2012/02/how-to-set-javahome-environment-in.html#ixzz4BWmaYIjH
la source
Ceci est un script très simple pour résoudre le problème
Et pour tester:
la source
Poster comme réponse, car je n'ai pas le privilège de commenter.
Point à noter : suivez la réponse acceptée postée par "That Dave Guy".
Après avoir défini les variables, assurez-vous de définir les autorisations appropriées sur le répertoire java où il est installé.
la source
Toutes les étapes opérationnelles (recherche de java, répertoire parent, édition de fichier, ...) une solution
Résultat:
Explication:
1) Divisons la commande complète en morceaux
2) Trouvez le chemin java à partir de la commande java
3) Obtenir le chemin relatif à partir du chemin symbolique
4) Obtenir le chemin parent de
/usr/lib/jvm/java-11-openjdk-11.0.7.10-1.el8_1.x86_64/bin/java
5) Obtenir le chemin parent de
/usr/lib/jvm/java-11-openjdk-11.0.7.10-1.el8_1.x86_64/bin/
la source
Utilisez SDKMAN sdkman.io pour basculer entre btw. votre sdk.
Il définit le JAVA_HOME pour vous.
la source
ouvrez kafka-run-class.sh avec sudo pour écrire
vous pouvez trouver kafka-run-class.sh dans votre dossier kafka : kafka / bin / kafka-run-class.sh
vérifier ces lignes
Modifiez la variable JAVA dans la partie else pour pointer vers l'exécutable java dans votre java / bin. comme JAVA = "$ JAVA_HOME / java"
la source
Dans / etc / profile, si vous l'ouvrez, vous saurez qu'il n'est pas recommandé d'écrire sur ce fichier. Au lieu de cela, créez un script de vos commandes (supposons que test.sh) va dans le dossier /etc/profile.d et placez test.sh là. Chaque fois que vous redémarrez l'instance, elle sera automatiquement appelée par / etc / profile.
la source
J'utilise la ligne:
à mon ~ / .profile afin qu'il utilise la base du répertoire java par défaut au moment de la connexion. C'est pour bash.
la source