Est-il possible de parcourir les sources d'OpenJDK en ligne?
Question
Est-il possible de parcourir le code source d'OpenJDK en ligne, comme je peux le faire avec les projets de SourceForge? Je n'avais jamais utilisé Mercury auparavant, alors je me suis senti confus.
(Remarque: je ne souhaite pas télécharger le code source. Je souhaite simplement le parcourir en ligne pour voir comment certaines méthodes sont implémentées.)
La solution
Utilisez http://hg.openjdk.java.net/ comme suggéré par duncan.
L’interface de Mercurial est assez déroutante si vous n’êtes pas habitué, et comme il s’agit d’un projet volumineux, il peut être difficile de trouver ce que vous recherchez.
Voici un exemple:
Pour rechercher l’implémentation JDK6 java.util.List, sélectionnez "jdk6", "jdk", sélectionnez Parcourir. Ensuite, accédez à src / share / classes / java / util / List.java.
Vous devriez vous retrouver à http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/util/List.java
Autres conseils
Le dernier code source JDK 8 OpenJDK Bibliothèque de classes Java est disponible à l'adresse suivante: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes /
Voici l'étape de base pour obtenir le dernier ou toute version publiée du Openjdk 8
(ou de toute version java existante), et utilisez-les dans Eclipse
.
Étapes :
- [source de navigation]
- Ouvrez l'URL pour jdk, par exemple http://hg.openjdk.java.net / jdk8u / jdk8u / jdk /
- cliquez sur
balises
- choisissez la balise appropriée, par exemple
jdk8u73-b02
- puis cliquez sur
parcourir
, - puis naviguez dans le dossier
src / share / classes
, - [source du téléchargement]
- puis cliquez sur l’un des
bz2
/zip
/gz
pour télécharger le code source au format compressé approprié (, par exemple, pourjdk8u73-b02
au formatzip
, l'URL sera: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/archive/2ab13901d6f1.zip/src/share/classes/ ) - [utilisation dans eclipse]
- décompressez-le,
- compresser le dossier "classes /", créer "classes /" en tant que répertoire racine du fichier .zip, (par exemple, le premier
cd jdk-2ab13901d6f1 / src / share /
, puiszip -r openjdk_8u73_b2_src.zip classes /
) - déplacez le fichier zip créé au bon endroit, il y restera pendant un moment (par exemple,
mv openjdk_8u73_b2_src.zip / media / Eric / software / java / jdk / openjdk / openjdk8u73-b02 / source /
) - dans eclipse, spécifiez le fichier source pour les fichiers jar de jre installé, vous pouvez spécifier la pièce jointe source pour chaque fichier jar de jre installé, le fichier jar le plus courant est probablement
rt.jar
, - optionnellement, vous aurez peut-être besoin d'actualiser le projet pour qu'il soit totalement pris en compte; vous ne savez pas si cela est nécessaire,
- le tester: dans Eclipse,
ctrl + Maj + t
, puis entrezAnnulable
, sélectionnez lesun.nio.fs.Cancellable
de jre installé correspondant, si le code source est disponible, il est bon, car cette source n'est pas disponible dansjdk_home / src.zip
, il doit provenir de la source openjdk supplémentaire, .
- revenir à la source: peut revenir à l'utilisation de "jdk_home / src.zip", si vous ne souhaitez pas utiliser la source openjdk externe,
- ok
Voici un moyen de parcourir les référentiels et de ne regarder que les bits de votre choix. http://hg.openjdk.java.net/ Est-ce ce que vous demandez?
Ajouter un " / file " aux URL racine pour afficher le navigateur de la manière suivante:
Grepcode.com est idéal pour des choses similaires - pas uniquement pour les sources OpenJDK, avec la recherche dans les classes / méthodes et les liens entre les classes directement dans le code en surbrillance:
http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/net/Socket.java
Certes, http://hg.openjdk.java.net est une bonne option. L’autre bonne source également est zGrepCode https://zgrepcode.com/java/openjdk/ . Il comporte à la fois des versions Open JDK et Oracle java.
Comme indiqué dans les autres réponses, le référentiel de code source se trouve à l'adresse https://hg.openjdk.java. net
Cependant, l'équipe OpenJDK reflète certains des projets sur GitHub: https://github.com/openjdk
Incluant la dernière version du projet Java ( https://hg.openjdk.java.net/ jdk / jdk ): https://github.com/openjdk/jdk