2010-12-07 7 views
41

Je cherche le code source pour rt.jar pour Oracle JRE/JDK 6 Update 22. Le src.zip, qui est inclus avec la livraison, ne contient pas toutes les sources, par exemple le soleil. * (Par ex. reflect.Reflection) sont manquants.Où obtenir le code source complet de rt.jar?

Où puis-je obtenir un src.zip complet?

+0

Je ne pense pas. Mais vous pouvez utiliser un décompilateur (je l'ai fait beaucoup :)) – Bozho

+0

JDK 7 a maintenant chaque morceau de source. –

+2

Non, l'Oracle JDK 7 manque toujours beaucoup, comme le paquetage solaire. –

Répondre

17

EDIT 22/11/2017:.

Cette réponse a été écrit en 2010, où le monde était très différent si. vous avez juste besoin des sources pour les classes JRE, utilisez le JRE dans une construction JDK - le fichier src.zip inclus est reconnu par la plupart des IDE modernes

Si vous avez vraiment, vraiment besoin de la source complète (si vous n'êtes pas sûr, vous n'avez pas), puis trouvez une version de débogage OpenJDK appropriée ou compilez OpenJDK à partir de la source


VIEUX 2010 RÉPONSE:

Vous pouvez télécharger le code source complet pour le JDK de http://download.java.net/jdk6/source/

TRÈS IMPORTANT NOTE: Ceci est sous la licence de recherche Java, qui peut vous entacher d'une manière incompatible avec ce que vous avez besoin savoir cela pour.

+14

Remarque: Oracle a décidé d'arrêter de fournir la source Java 6 sous JRL pour les nouvelles versions. –

+0

lien mort, s'il vous plaît mettre à jour –

+0

@ShpytyackArtem Nous sommes en 2017. Avez-vous vraiment, vraiment besoin du code source complet pour Java 6? –

21

soleil. * sources font partie de JDK qui est source fermé propriétaire du code Sun (ou Oracle depuis 2010). Cela dit, le paquet qui vous intéresse (sun.reflect) est inclus dans OpenJDK 7, et toute la source OpenJDK est ouverte.

Vous pouvez obtenir la source ici: http://jdk7src.sourceforge.net/

+2

(citation nécessaire :) mais sinon une excellente réponse. +1 de moi. – aioobe

+0

@aioobe, je 2ème que .... –

+6

Mais même si la source _is_ propriétaire est disponible. –

0

Rustam est juste. Souces de soleil * ne sont pas disponibles. Mais vous pouvez toujours décompiler * .class voir le code assez lisible (malheureusement sans javadocs :()

+7

La licence ne le permet pas. –

+0

"La licence ne le permet pas." Oops. Voici la belle opportunité de contournement! ;) – rustyx

+0

Les versions modernes d'IntellJ ont un décompilateur qui facilite grandement cela. –

1

Les classes sans sources sont étroitement basées sur le code de OpenJDK. Vous pouvez télécharger cette source et vous pouvez voir non seulement le code Java mais aussi le code C. Cela peut être une bonne ressource pour les exemples JNI aussi.

7

Si vous utilisez Eclipse, voici comment vous pouvez créer un lien vers les fichiers source Java:

  1. Comme Thorbjørn Ravn Andersen mentionné, téléchargez la source JDK http://download.java.net/jdk6/source/, et décompressez le fichier tar.gz dans un dossier, dites 'jdk.src ';
  2. Ouvrez votre fichier java qui fait référence à une classe java de base (disons Thread) qui provient du JDK;
  3. Appuyez sur F3 pour ouvrir la déclaration, attendez qu'Eclipse ouvre un nouvel onglet avec le message "source introuvable". Il demande l'emplacement de la source rt.jar, mais vous n'avez pas besoin de passer par la compilation de la source JDK pour l'obtenir. Au lieu de cela, cliquez sur le bouton "joindre la source", dans la fenêtre contextuelle "configuration des pièces jointes", sélectionnez "dossier externe", puis pointez sur le répertoire jdk.src/jdk/src/share/classes. Eclipse chargera automatiquement le code source de classe JDK nouvellement trouvé dans la même fenêtre.
+0

Merci, mais 'sun.reflect. *' N'est pas inclus. – kiltek

Questions connexes