2010-12-07 23 views
41

Estoy buscando el código fuente de rt.jar para Oracle JRE/JDK 6 Actualización 22. El src.zip, que se incluye con la entrega, no contiene todas las fuentes, por ejemplo el sol. * (Por ejemplo, sol. Reflejar.Reflexión) faltan paquetes.¿Dónde obtener el código fuente completo para rt.jar?

¿Dónde puedo obtener un src.zip completo?

+0

No lo creo. Pero puedes usar un descompilador (lo he hecho mucho :)) – Bozho

+0

JDK 7 ahora tiene todas las fuentes. –

+2

No, el Oracle JDK 7 todavía falta mucho, como el paquete de protección solar. –

Respuesta

17

EDITAR 11/22/2017:.

Esta respuesta fue escrito en 2010, donde el mundo era muy diferente Si. solo necesita las fuentes para las clases JRE, use el JRE en una compilación JDK: el archivo src.zip incluido es reconocido por la mayoría de los IDE modernos.

Si realmente necesita la fuente completa (si no está seguro, no lo hace) a continuación, busque una versión de depuración OpenJDK adecuada o cree OpenJDK desde la fuente.


VIEJO 2010 RESPUESTA:

se puede descargar el código fuente completo para el JDK de http://download.java.net/jdk6/source/

NOTA MUY IMPORTANTE: Esta es bajo la licencia de Java Research, que se puede manchar de manera incompatible con lo que necesita para saber esto

+14

Nota: Oracle ha decidido dejar de proporcionar el origen de Java 6 bajo el JRL para nuevas versiones. –

+0

vínculo muerto, actualice –

+0

@ShpytyackArtem Es 2017. ¿Realmente necesita el código fuente completo para Java 6? –

21

sol. * fuentes son una parte de JDK que es propietaria código fuente cerrado Sun (u Oracle desde 2010).

Habiendo dicho eso, el paquete que le interesa (sun.reflect.) Pasa a estar incluido en OpenJDK 7, y todo el código fuente de OpenJDK está abierto.

Usted puede obtener la fuente aquí: http://jdk7src.sourceforge.net/

+2

(citación necesitada :) pero de lo contrario una respuesta excelente. +1 de mi parte – aioobe

+0

@aioobe, I 2nd that .... –

+6

Pero incluso si la fuente propietaria _is_ está disponible. –

0

Rustam tiene razón:. Souces de sol * no están disponibles. Pero siempre se puede descompilar * .class y ver código muy legible (por desgracia sin javadocs :()

+7

La licencia no permite eso. –

+0

"La licencia no permite eso". Uy. ¡aquí va la buena oportunidad de solución! ;) – rustyx

+0

Las versiones modernas de IntellJ tienen un descompilador que hace que esto sea mucho más fácil. –

1

Las clases sin fuente están estrechamente basados ​​en el código de OpenJDK. Puede descargar esta fuente y puede ver no solo el código Java sino también el código C. Esto también puede ser un buen recurso para los ejemplos de JNI.

7

Si utiliza Eclipse, aquí es cómo se puede enlazar a archivos fuente de Java:

  1. Como se mencionó Thorbjørn Ravn Andersen, descargar el código fuente del JDK http://download.java.net/jdk6/source/, y descomprimir el archivo tar.gz a una carpeta, diga 'jdk.src ';
  2. Abra su archivo java que hace referencia a una clase básica de Java (por ejemplo, Subproceso) que proviene del JDK;
  3. Toque F3 para abrir la declaración, espere que Eclipse abra una nueva pestaña con el mensaje "fuente no encontrada". Solicita la ubicación de origen de rt.jar, pero no es necesario que se tome la molestia de compilar la fuente de JDK para obtenerla. En su lugar, haga clic en el botón "adjuntar fuente", en la ventana emergente "configuración del archivo adjunto de origen", seleccione "Carpeta externa", luego apunte al directorio jdk.src/jdk/src/share/classes. Eclipse cargará automáticamente el código fuente de la nueva clase JDK en la misma ventana.
+0

Gracias, pero 'sun.reflect. *' No está incluido. – kiltek

Cuestiones relacionadas