Comment définir la variable d'environnement JAVA_HOME sur Mac OS X 10.9?

135

Je viens d'acheter un tout nouveau MacBook Pro.

C'est mon tout premier MAC et j'essaie toujours de me familiariser avec la navigation.

Quoi qu'il en soit, je suis également nouveau sur Java et je me suis entraîné sur mon PC Windows avant qu'il ne meure définitivement.

Maintenant que je suis sur ce MAC, j'ai installé mon JDK et maintenant je dois définir la JAVA_HOMEvariable d'environnement.

Je n'ai aucune idée de quoi faire.

J'ai essayé de suivre certains de ces guides et je ne suis pas allé très loin.

  1. Mkyong.com: Comment définir la variable JAVA_HOME sous Mac OSX

  2. YouTube: Comment définir des variables d'environnement sur Mac, Linux, Solaris, Rhel

  3. YouTube: Comment définir des variables d'environnement sur Mac

J'ai pu localiser le terminal et je pense avoir créé plusieurs fichiers. Je reçois des messages comme celui-ci:


(1) Un autre programme est peut-être en train d'éditer le même fichier. Si tel est le cas, veillez à ne pas vous retrouver avec deux instances différentes du même fichier lors des modifications. Quittez ou continuez avec prudence.


(2) Une session d'édition pour ce fichier s'est écrasée. Si tel est le cas, utilisez ": recover" ou "vim -r /Users/Erwin/.bash_profile" pour récupérer les modifications (voir ": help recovery"). Si vous l'avez déjà fait, supprimez le fichier d'échange "/Users/Erwin/.bash_profile.sw p" pour éviter ce message.

Quelqu'un peut-il dire étape par étape comment configurer Java dans l'environnement Mac OSX?

islander_zero
la source
Duplicata de: superuser.com/questions/240100/…
Frank V
Copie possible de Que dois-je définir JAVA_HOME sur OSX
Pascal
expliquez brièvement: stackoverflow.com/a/59151321/5788247
Shomu

Réponses:

327

Tout ce que vous avez à faire est littéralement:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

et redémarrez votre shell.

Si vous avez plusieurs versions de JDK installées et que vous voulez que ce soit une version spécifique, vous pouvez utiliser l' -vindicateur pour java_homeaimer ceci:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile
Adrian Petrescu
la source
1
Lorsque vous dites «shell», voulez-vous dire que je ferme la fenêtre du terminal et la rouvre? De plus, cela ajoute-t-il de manière permanente la variable d'environnement pour mon jdk?
islander_zero
1
Oui, c'est ce que je veux dire. Et oui, cela ajoutera la variable pour tous les shells de connexion pour votre utilisateur (c'est-à-dire à peu près toutes les circonstances dans lesquelles vous le souhaiteriez)
Adrian Petrescu
13
Je pense qu'au lieu de redémarrer le terminal si vous le faites, source ~/.bash_profilecela fonctionnerait, non?
Shobhit Puri
2
@ShobhitPuri Yup, ça le ferait, je voulais juste que ça reste simple pour le demandeur.
Adrian Petrescu
4
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileSi vous avez besoin d'une version spécifique. 1.7 dans ce cas.
sebastian
26

Je l'ai fait en mettant

export JAVA_HOME=`/usr/libexec/java_home`

(backtics) dans mon .bashrc. Voir mon commentaire sur la réponse d'Adrian.

JohnL4
la source
15

Sous Mac OSX 10.5 ou version ultérieure, Apple recommande de définir $JAVA_HOME variable to /usr/libexec/java_home, simplement exporter $JAVA_HOME in file ~/. bash_profileou~/.profile .

Ouvrez le terminal et exécutez la commande ci-dessous.

$ vim .bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

enregistrez et quittez l'éditeur vim, puis exécutez la commande source sur .bash_profile

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
Rajesh Samson
la source
11

Définissez la variable d'environnement $ JAVA_HOME sur le dernier ou l'ancien Mac OSX.

Télécharger et installer installer JDK

  1. Tout d'abord, installez JDK
  2. Ouvrir le terminal vérifier la version java

$ java -version

Définir la variable d'environnement JAVA_HOME

  1. Ouvrez le fichier .zprofile

$ open -t .zprofile

Ou créez . fichier zprofile

$ open -t .zprofile

  1. écrire en .zprofile

export JAVA_HOME=$(/usr/libexec/java_home)

Enregistrez .zprofile et fermez le fichier bash, puis écrivez dans le terminal pour fonctionner parfaitement .

$ source .zprofile

Test de configuration dans le terminal

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home
Shomu
la source
1
J'ai également eu une question sur ce qu'est réellement "/ usr / libexec / java_home". Réponse: medium.com/zendesk-engineering
ekar
1
/ usr / libexec / java_home est le moyen de maintenance le plus simple de définir JAVA_HOME sur macOS. Vous pouvez utiliser java_home pour: Rechercher tous les JDK installés.
Shomu
7

Il est recommandé de vérifier le shell du terminal par défaut avant de définir la variable d'environnement JAVA_HOME , via les commandes suivantes:

$ echo $SHELL
/bin/bash

Si votre terminal par défaut est / bin / bash (Bash), vous devez utiliser la méthode @Adrian Petrescu .

Si votre terminal par défaut est / bin / zsh (Z Shell), vous devez définir ces variables d'environnement dans le fichier ~ / .zshenv avec le contenu suivant:

export JAVA_HOME="$(/usr/libexec/java_home)"

De même, pour tout autre type de terminal non mentionné ci-dessus, vous devez définir la variable d'environnement dans son fichier d'environnement de terminal respectif.

Jerry Chong
la source
4

Je l'ai fait fonctionner en ajoutant à ~ / .profile. Après la mise à jour vers la version bêta d'El Capitan, cela n'a pas fonctionné même si JAVA_HOME a été défini dans .bash_profile.

S'il y a des utilisateurs de la version bêta d'El Capitan, essayez d'ajouter à .profile

Senthil Acs
la source
2
Quelle est la différence entre .profile et .bash_profile?
IgorGanapolsky
3
L'idée est que .profile fonctionne pour tous les shells (sh, zsh, peu importe); .bash_profile, uniquement pour les shells bash.
JohnL4