Où Java est-il installé sur Mac OS X?

728

Je viens de télécharger Java 7u17 sur Mac OS 10.7.5 à partir d' ici , puis de l'installer avec succès. Afin de faire de la programmation JNI, j'ai besoin de savoir où Java est installé sur mon Mac.

Je pensais qu'à l'intérieur du /Library/Java/JavaVirtualMachines/dossier, il y aurait un dossier appelé 1.7.0.jdkou quelque chose, mais j'ai trouvé que le dossier était vide. Cela a été confirmé par l'exécution ls /Library/Java/JavaVirtualMachines/dans le terminal. J'ai essayé de le rechercher pour savoir s'il avait été installé ailleurs, mais cela ne semble rien.

Quelqu'un pourrait-il me dire où Java est installé sur mon Mac?

Thunderforge
la source
12
Pour fermer les électeurs / réouvertures - cette question n'est explicitement pas hors sujet (questions sur les outils couramment utilisés par les programmeurs) . Malheureusement, il a été mis en marche par la méta .
Rob

Réponses:

1385

Utilisez la /usr/libexec/java_home -v 1.8commande sur un shell de terminal pour déterminer où se trouve votre répertoire personnel Java 1.8

Si vous souhaitez simplement découvrir le répertoire personnel de votre version la plus récente de Java, omettez la version. par exemple/usr/libexec/java_home

gerrytan
la source
Je suis arrivé à cette question parce que j'obtenais une erreur dans eclipse sur mon mac parce que j'obtenais une erreur sur la première ligne du programme "import java.util. *." Je soupçonne fortement que c'est parce que le chemin java n'est pas défini correctement ou quelque chose (même si je l'ai configuré une fois auparavant). J'ai entré la commande dans cette réponse et j'obtiens un répertoire. Puis-je simplement coller ce répertoire dans la zone de texte de la fenêtre "Configuration de dossier de bibliothèque native"? Ou ce répertoire appartient-il ailleurs?
OKGimmeMoney
47
Ajouté export JAVA_HOME=`/usr/libexec/java_home`à .bash_profile pour que JAVA_HOME soit toujours défini (notez les back-ticks autour de la commande libexec)
Steve Henty
Si vous voulez simplement savoir si le JDK est installé sur votre mac, omettez le numéro de version et exécutez depuis le terminal: $ echo $ (/ usr / libexec / java_home)
Donato
3
Sur Mac 10.12.3, nous devrions /usr/libexec/java_home -- vmontrer la version la plus récente de java
klion26
117

Vous pouvez utiliser la echo $(/usr/libexec/java_home)commande dans votre terminal pour connaître le chemin où Java est installé.

Pavithra Gunasekara
la source
7
J'aime mieux cette solution que la réponse acceptée car elle est indépendante de la version de la JVM installée.
Alexandre Santos
1
Cela n'a pas trouvé ma version java 8 installée par Oracle.
Antoine Lizée
13
Pourquoi avez-vous le echo $(...)là-bas? Ne fait pas simplement /usr/libexec/java_homela même chose?
Paŭlo Ebermann
1
La réponse acceptée n'a pas fonctionné pour moi mais cela a fonctionné! (Je ne suis normalement pas un utilisateur mac / unix)
Roel
@ PaŭloEbermann Cela ne fonctionne pas pour moi sans signe dolaire et crochets.
Nikola Stojaković
80

Il s'avère que j'avais en fait le Java 7 JRE installé, pas le JDK. Le lien de téléchargement correct est ici . Après l'avoir installé, jdk1.7.0jdkapparaît dans le répertoire JavaVirtualMachines.

Thunderforge
la source
49
Pour moi, ce fut sous /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk(sachant que pour le JDK 1.6 le chemin est: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/)
Zakaria
Merci beaucoup! Je n'ai pas remarqué que j'avais fait installer JRE par accident non plus xD
Oliver Ni
1
export JAVA_HOME = $ (/ usr / libexec / java_home) at ~ / .bash_profile
Oleksii Kyslytsyn
34

Si vous installez uniquement le JRE, il semble être mis à:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Morrie
la source
2
Vous ne devez pas vous fier à cet élément. Si vous avez besoin du JRE, regroupez-le dans votre propre application.
swingler
Définir JAVA_HOME avec un chemin contenant un caractère espace est difficile! Je n'ai pas réussi ...
Antoine Rosset
vous pouvez créer quelque part un lien vers ce répertoire et définir JAVA_HOME sur ce lien
Kuba
C'est là que le panneau des Préférences Système "Java" semble l'installer.
David Avendasora
2
@AntoineRosset, vous pouvez le définir de cette façon:export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
coda
24

Utilisez la fonction de recherche unix pour trouver les javas installés ...

sudo find / -name java
serkan
la source
19
Vous n'avez pas besoin de sudo pour exécuter find pour les commandes généralement accessibles. Si vous ne voulez pas voir les messages d'erreur sur les répertoires inaccessibles, supprimez-les plutôt que d'utiliser inutilement les privilèges root. Utiliser sudo tout le temps est une mauvaise habitude. Redirigez stderr vers / dev / null, comme ceci: find / -name java 2> / dev / null
Walter Underwood
1
Que dois-je faire si j'ai trop besoin de regarder sous les répertoires inaccessibles?
serkan
2
Le point de Walter est que le javabinaire sera lisible par le monde, il sudon'est donc pas nécessaire. Votre réponse est toujours utile :)
Jared Beck
Oui, je viens de l'utiliser pour trouver src.zip (le code source du java jdk)
Dinis Cruz
export JAVA_HOME = $ (/ usr / libexec / java_home) at ~ / .bash_profile
Oleksii Kyslytsyn
22

Essayez ceci, c'est un moyen facile de trouver le chemin installé java dans Mac OS X,

Aller à

1) / Bibliothèque, c.-à-d. Macintosh HD / Bibliothèque

entrez la description de l'image ici

2) Cliquez sur Bibliothèque dans le dossier Java.

entrez la description de l'image ici

3) Le chemin final est donc

/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

J'espère que c'est de l'aide pour quelqu'un.

Jaywant Khedkar
la source
1
Très utile lorsque vous devez pointer explicitement le JDK à partir d'un IDE. Merci
Shwetabh Shekhar
Comment suis-je dense? Mon terminal dit que j'ai 2 jdk installés dans / Library / Java / JavaVirtualMachines / mais je ne les trouve pas lorsque je navigue vers ce répertoire dans le Finder ... Quelle densité puis-je obtenir ...
SoftwareSavant
@SoftwareSavant, s'il vous plaît ref stackoverflow.com/a/14875241 réponse, c'est peut-être vous aider.
Jaywant Khedkar
19

La structure du package Java de Mac OS est un peu différente de Windows. Ne vous inquiétez pas car un développeur doit simplement définir PATHet JAVA_HOME.

Donc dans l' .bash_profileensemble JAVA_HOMEet PATHcomme ci-dessous. Cet exemple concerne Java 6:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH
Bimales Mandal
la source
12
Cela supprime tout le reste du chemin? Ne faites cela que si vous utilisez uniquement Java et rien d'autre dans votre système.
Paŭlo Ebermann
export JAVA_HOME = $ (/ usr / libexec / java_home) dans ~ / .bash_profile.
Oleksii Kyslytsyn
17

Si vous tapez

java -verbose 

Cela donne également l'emplacement à partir duquel les pots sont chargés et donc également le chemin java.

jones j alapat
la source
J'ai ajouté export JAVA_HOME = $ (/ usr / libexec / java_home) dans ~ / .bash_profile.
Oleksii Kyslytsyn
8

Modifié: l'alias de la version java actuelle est /Library/Java/Home

Pour plus d'informations: un lien

manny
la source
Ce serait un alias pour la version la plus récente, qui indiquerait correctement Java 7 SDK une fois qu'il est installé.
Thunderforge
1
Ce lien existe uniquement à des fins héritées et ne sera pas mis à jour en installant Java 7. N'utilisez pas ce chemin.
swingler
J'ai mis à jour l'exportation JAVA_HOME = $ (/ usr / libexec / java_home) dans ~ / .bash_profile.
Oleksii Kyslytsyn
8

il suffit d'écrire /Library/Java/JavaVirtualMachines/
dans Aller au dossier -> Aller dans le Finder

Mina Fawzy
la source
ok, je viens de l'essayer et j'ai réussi à naviguer dans le répertoire. Pourquoi ne puis-je pas accéder normalement à ce dossier dans le Finder? Est-ce juste qu'Apple est très ennuyeux ... Également très ennuyeux, la version 4.3 de Gradle ne fonctionne avec aucune version de Java à l'exception de Java 8
SoftwareSavant
export JAVA_HOME = $ (/ usr / libexec / java_home) at ~ / .bash_profile
Oleksii Kyslytsyn
6

Je viens d'installer le JDK pour la version 21 de Java SE 7 et j'ai découvert qu'il est installé dans un répertoire différent de Java d'Apple 6. Il se trouve dans / Library / Java ... plutôt que dans / System / Library / Java ... L'exécution de / usr / libexec / java_home -v 1.7 contre -v 1.6 le confirmera.

Tony Kroch
la source
export JAVA_HOME = $ (/ usr / libexec / java_home) at ~ / .bash_profile
Oleksii Kyslytsyn
6

J'ai essayé la solution de serkan, elle a trouvé l'emplacement de java 7 sur OS X Mavericks. il est résidé "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/" mais pour en faire le JDK par défaut, j'ai dû définir la variable système JAVA_HOME dans .bash_profile dans le répertoire personnel pour "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/" qu'il soit maintenant opérationnel grâce à l'idée de Serkan

Mehdi
la source
export JAVA_HOME = $ (/ usr / libexec / java_home) dans ~ / .bash_profile.
Oleksii Kyslytsyn
5

Pour :

  • OS X: 10.11.6

  • Java: 8

Je confirme la réponse de @Morrie.

   export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home;

Mais si vous utilisez des conteneurs, votre vie sera plus facile

Abdennour TOUMI
la source
2
Je pense que cela aurait dû être un commentaire.
Thunderforge
1
Je ne pense pas, car il y a une valeur ajoutée qui est `export JAVA_HOME =`. ... Et vous @Thunderforge
Abdennour TOUMI
export JAVA_HOME = $ (/ usr / libexec / java_home) dans ~ / .bash_profile.
Oleksii Kyslytsyn
3

tapez which javaterminal pour montrer où il est installé.

Pranay Aryal
la source
1
Oui, exportez JAVA_HOME = $ (/ usr / libexec / java_home) dans ~ / .bash_profile.
Oleksii Kyslytsyn
-1

Les Préférences Système puis le panneau de configuration Java puis Java puis Affichage afficheront l'emplacement exact du JRE par défaut actuellement installé.

PaulNUK
la source
export JAVA_HOME = $ (/ usr / libexec / java_home) at ~ / .bash_profile
Oleksii Kyslytsyn