web-dev-qa-db-fra.com

Quel est le chemin de JDK sur Mac?

J'utilise Mac uniquement au travail et je dois définir Java_HOME sur le chemin correct du JDK. J'ai téléchargé JDK, je l'ai installé et maintenant je ne le trouve nulle part. Je cherchais la solution sur Internet, mais il n’existe pas de dossier Libraries/Java.

310
filipp.kowalski

L'emplacement a été modifié de Java 6 (fourni par Apple) à Java 7 et versions ultérieures (fourni par Oracle). Le meilleur moyen générique de le savoir consiste à exécuter

/usr/libexec/Java_home

Il s'agit de la méthode prise en charge en mode natif pour connaître le chemin d'accès à l'installation par défaut de Java, ainsi que toutes les autres solutions existantes.

Si vous consultez son texte d'aide (Java_home -h), vous verrez que vous pouvez utiliser cette commande pour démarrer de manière fiable un programme Java sous OS X (Java_home --exec ...), avec la commande possibilité de spécifier explicitement la version et l'architecture Java souhaitées, ou même de demander à l'utilisateur de l'installer en cas d'absence.

Une approche plus piétonne, mais qui vous aidera à déterminer de manière spécifique en quoi Java installation dans laquelle la commande Java est résolue, se présente comme suit:

  1. courir

    which Java
    
  2. si cela vous donne quelque chose comme /usr/bin/Java, qui est un lien symbolique vers l'emplacement réel, lancez

    ls -l `which Java`
    

    Sur mon système, cela génère

    /usr/bin/Java -> /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/Java
    

    et à partir de là, vous pouvez lire le répertoire de base Java;

  3. si usr/bin/Java pointe sur un autre lien symbolique, applique récursivement la même approche avec

    ls -l <whatever the /usr/bin/Java symlink points to>
    

Une variante importante est la configuration que vous obtenez si vous commencez par installer Java d’Apple puis par Oracle. Dans ce cas, l'étape 2 ci-dessus vous donnera

/usr/bin/Java -> /System/Library/Frameworks/JavaVM.framework/Commands/Java

et ce binaire Java particulier est un stub qui résoudra l'appel de la commande Java en consultant la variable d'environnement Java_HOME et, si elle n'est pas définie ou ne pointe pas vers un Java répertoire de base, retombera sur l'appel de Java_home. Il est important de garder cela à l'esprit lors du débogage de votre configuration.

624
Marko Topolnik

Quelle version Mac utilisez-vous? essayez ces chemins

 /System/Library/Frameworks/JavaVM.framework/ OR
 /usr/libexec/Java_home

Ce lien pourrait vous aider - Comment définir une variable d’environnement $ Java_HOME sous Mac OS X

33
Chetan Gole

Jetez un oeil et voyez si le JDK est à:

Bibliothèque/Java/JavaVirtualMachines/Ou/Système/Bibliothèque/Java/JavaVirtualMachines /

Vérifiez ceci SO post précédent: JDK sur OSX 10.7 Lion

26
pomply

Sur mon Mac:

/System/Library/Frameworks/JavaVM.framework/Home/

d'ailleurs, avez-vous essayé which Java?

6
gefei

/System/Library/Frameworks/JavaVM.framework/

Voir aussi chemin Java 7 sur Mountain Lion

5
kunal