Java / Eclipse sur MacOSX: où est le src.zip?

Avec la dernière mise à jour de Java sur MacOSX 10.6, Eclipse ne trouve plus les sources Java.

Je ne suis pas tout à fait sûr (c.-à-d. Ne m’en souviens plus) si j’ai téléchargé les sources manuellement par le passé et les ai mises quelque part ou si MacOSX les a fournies et que Eclipse les a trouvées automatiquement.

MacOSX a-t-il les sources quelque part? (S’il vous plaît pas de suppositions ici. Je veux vraiment savoir ça.)

Si non, où puis-je les obtenir?

Après avoir installé la mise à jour Java la plus récente, vous trouverez src.jar sous

/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home

C’est là que je pointe “JRE home” pour Java 1.6 dans Eclipse. Tout fonctionne comme prévu (jusqu’à maintenant 🙂

Si je comprends bien, à partir de “Java pour Mac OS X 10.6 Update 3”, il y a 3 endroits où Java sera installé sur MacOS.

  • /System/Library/Frameworks/JavaVM.framework/ était l’ancien endroit.
  • / System / Library / Java / JavaVirtualMachines / est le nouvel emplacement standard – vous y trouverez la nouvelle version.
  • / Library / Java / JavaVirtualMachines est destiné aux “aperçus de développeurs et aux JVM tierces”

Notez la règle MacOS consistant à placer les composants standard fournis par Apple dans / System / Library et les extensions locales dans / Library.

Le JDK installé par défaut n’a plus de src.jar (bien que ce soit un JDK, javac aussi, etc.). Mais si vous installez le «package Java Developer» d’Apple , vous obtiendrez

/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk

qui a src.jar sous Contents / Home

Donc, je pense que la chose saine à faire est d’installer le package de développeur et de le pointer de votre IDE.


Mise à jour – pour “Java pour Mac OS X 10.7 Update 1”, après avoir installé le package de développement, la source peut être trouvée à

/Library/Java/JavaVirtualMachines/1.6.0_29-b11-402.jdk/Contents/Home/src.jar

Ceci est mon expérience avec src.jar!.

  • Comme mentionné précédemment, vous devrez vous inscrire pour le compte de développeur Apple (gratuit).

  • Accédez à Téléchargements pour les développeurs Apple , puis recherchez Java.

  • J’ai choisi “Java pour OS X 2013-005 Developer Package”
  • Une fois que vous téléchargez et installez le package, vous trouverez src.jar dans /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home/

    J’espère que cela t’aides!

Il apparaît dans la dernière version d’OSX 10.6.7 (java 1.6.0_24) qu’ils ont nettoyé tous ces répertoires … aucun fichier src.jar n’existe et la plupart des répertoires indiqués sont manquants.

ennuyeux sans fin …

à partir d’aujourd’hui, 01/06/12, le package Java Devloper pour OSX 10.7, ne sont plus fournis avec src.jar sous le répertoire Home. Certains résultats de Google indiquent la décision d’Apple en 2010 de déconseiller le support Java dans OSX (celui porté par Apple). Et Oracle commence à fournir Mac OS X JDK depuis ce mois d’avril. Donc, à l’avenir, installez JDK à partir d’Oracle.

Avec Oracle Java SE 7 pour Mac OS X x64, le fichier src.zip se trouve à l’emplacement suivant, dans ce cas la version particulière est Java SE 7u10

 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/src.zip 

Sur Mac OS X 10.5.8, après la mise à jour vers Java 1.6.0_22 et l’installation de la dernière mise à jour de développeur datée du 20 octobre 2010, src.jar pour Java 6 n’est pas présent.

 $ find / Système / Bibliothèque / Java / Système / Bibliothèque / Frameworks -name src.jar
 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home/src.jar
 /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/src.jar

Naviguer vers la source dans NetBeans 6.9.1 dit du comstackd code pour tous les constructeurs et méthodes, par exemple java.awt.Point :

 public Point() { //comstackd code throw new RuntimeException("Comstackd Code"); } 

Il est possible d’extraire un fichier JAR utilisable d’une mise à jour précédente, comme suggéré dans ce sujet .

Addendum: Sur NetBeans, l’emplacement de la plate-forme par défaut est un atsortingbut du fichier ~/.netbeans/6.9/config/Services/Platforms/org-netbeans-api-java-Platform/default_platform.xml :

  jar:file:/Library/Java/JavaVirtualMachines/ 1.6.0_22-b04-307.jdk/Contents/Home/src.jar!/src/   

Sinon, le fichier /Library/Java/Home/src.jar peut être référencé:

  jar:file:/Library/Java/Home/src.jar!/src/  

Peut-être que cela l’explique:?

Depuis la sortie de Java pour Mac OS X 10.6 Update 3, le runtime Java porté par Apple et fourni avec Mac OS X est obsolète. Les développeurs ne doivent pas compter sur l’exécution Java fournie par Apple dans les futures versions de Mac OS X Java pour Mac OS X 10.6 Update 3 et 10.5 Update 8 Release Notes

Si vous souhaitez que Eclipse pointe toujours vers le JDK par défaut actuel et que ses sources le pointent vers:

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

Eclipse va alors résoudre le lien symbolique CurrentJDK et le diriger vers le JDK actuel.

Appelez-moi à l’ancienne, mais:

trouver / Library / Java / JavaVirtualMachines / -name src.jar

travaillé pour moi 🙂

Merci aux gens qui ont déjà fourni des réponses. ils ont été utiles.

En tant que newb sur Mac (10.6.6), voici ce que j’ai fait pour MyEclipse, qui devrait également fonctionner pour Eclipse; Je n’ai pas testé cela en mode déconnecté. En essayant d’append un autre JRE pour MyEclipse 8.5, il fallait une “VM MacOS X” et ne supporterait pas une “VM Standard”. J’ai essayé de modifier à la fois les fichiers eclipse.ini et myeclipse.ini, et j’ai également essayé de démarrer MyEclipse à partir de la ligne de commande avec un ensemble JAVA_HOME spécifique en vain.

1) téléchargez et installez le Java Developer Package approprié. Accédez à Préférences Système -> Mise à jour du logiciel -> Logiciels installés. Vous pouvez avoir plusieurs versions d’une installation donnée, dans mon cas, j’ai eu à la fois “Java pour Mac OS X 10.6 Update 2” et “Java pour Mac OS X 10.6 Update 3”. autrement. A ce jour, le nom du fichier téléchargé était javadeveloper_10.6_10m3261.dmg.

2) Dans une fenêtre de terminal, j’ai ajouté des liens symboliques entre la machine virtuelle du système d’exploitation et les jars de la machine virtuelle standard. J’ai légèrement modifié les permissions de sécurité, vous n’avez donc peut-être pas besoin d’utiliser sudo pour créer les liens symboliques.

 cd /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/appledocs.jar sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/docs.jar sudo ln -s /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/src.jar 

Si rien ne fonctionne, téléchargez simplement les sources de http://jdk7src.sourceforge.net/ et ajoutez-les. travaillé pour moi