¿Es posible navegar por la fuente de OpenJDK en línea?


80

¿Es posible navegar por el código fuente de OpenJDK en línea, como puedo hacer con los proyectos de SourceForge? Nunca antes había usado Mercury, así que me sentí confundido.

(Nota: no quiero descargar la fuente. Solo quiero navegar en línea para ver cómo se implementan algunos métodos).

Respuestas:


94

OpenJDK ahora está en GitHub: https://git.openjdk.java.net/jdk

Es un proyecto grande, pero encontrará las implementaciones de las clases principales en jdk / src / java.base / share / classes .

Por ejemplo, puede encontrar la implementación de java.util.List aquí .


Si necesita navegar por versiones anteriores, aún necesita usar la antigua interfaz de Mercurial .

La interfaz de Mercurial es bastante confusa si no está acostumbrado, y dado que este es un proyecto grande, puede ser difícil encontrar lo que está buscando.

Aquí hay un ejemplo:

Para encontrar la implementación de JDK6 java.util.List, seleccione "jdk6", "jdk", seleccione navegar. Luego busque src / share / classes / java / util / List.java.

Deberías terminar en http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/util/List.java


2
Para cualquiera que intente esto, el número de sucursal predeterminado cambia. Entonces, el procedimiento descrito es correcto, pero no se sorprenda si el enlace no funciona.
Patrick


3
@Patrick: si reemplaza el ID del conjunto de cambios con 'tip', siempre funcionará. La versión a la que apunta puede cambiar con el tiempo, pero siempre será la más actualizada (en cierto sentido). He editado la publicación en consecuencia.
Tom Anderson

4
¿Qué significa "puerta" en el nombre del repositorio?
finnw

2
Ahora bien, si quiero ver el código nativo que implementa los métodos nativos, ¿dónde puedo encontrarlos?
Ustaman Sangat


7

Este es el paso básico para obtener la versión más reciente o cualquier versión publicada del Openjdk 8código fuente (o cualquier versión de Java existente) y usarlos en formato Eclipse.

Pasos :

  • [buscar fuente]
  • URL abierta para jdk, por ejemplo, http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/
  • hacer clic tags
  • elija la etiqueta adecuada, por ejemplo jdk8u73-b02
  • luego haga clic browse,
  • luego busque en la carpeta src/share/classes,
  • [fuente de descarga]
  • a continuación, haga clic en uno de bz2/ zip/ gz, a la fuente de descarga en formato comprimido correspondiente, ( por ejemplo, para jdk8u73-b02en el zipformato, el URL será: http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/archive/2ab13901d6f1.zip/ src / compartir / clases / )
  • [usar en eclipse]
  • descomprimirlo,
  • comprima la carpeta "clases /", haga "clases /" como el directorio raíz del archivo .zip, (por ejemplo cd jdk-2ab13901d6f1/src/share/, primero , luego zip -r openjdk_8u73_b2_src.zip classes/)
  • Mueva el archivo zip creado a la ubicación adecuada, permanecerá allí por un tiempo (por ejemplo, mv openjdk_8u73_b2_src.zip /media/Eric/software/java/jdk/openjdk/openjdk8u73-b02/source/ )
  • en eclipse, especifique el archivo fuente para los jar de jre instalado, podría especificar el archivo adjunto de origen para cada jar de jre instalado respectivamente, el jar más común es probablemente rt.jar ,
  • opcionalmente, es posible que necesite actualizar el proyecto para que surta efecto, no estoy seguro de si es necesario,
  • pruébelo: en eclipse, ctrl + shift + tluego ingrese Cancellable, seleccione el sun.nio.fs.Cancellablejre instalado correspondiente, si el código fuente está disponible, entonces es bueno, porque esta fuente no está disponible en jdk_home/src.zip, debe ser de la fuente openjdk adicional,
  • volver a cambiar la fuente: podría volver a usar "jdk_home / src.zip", si no desea usar la fuente externa openjdk,
  • Okay





Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.