¿Hay una manera fácil de adjuntar fuente en Eclipse?

130

Soy un gran admirador de la forma en que Visual Studio le dará la documentación de comentarios / nombres de parámetros al completar el código que ha escrito y TAMBIÉN el código al que hace referencia (varias bibliotecas / ensamblajes).

¿Hay una manera fácil de obtener nombres de parámetros / javadoc en línea en Eclipse al completar el código o al pasar el mouse sobre los métodos? ¿Vía plugin? ¿Vía alguna configuración? ¡Es extremadamente molesto usar muchas bibliotecas (como sucede a menudo en Java) y luego tener que ir al sitio web o a la ubicación local de javadoc para buscar información cuando la tienes en los frascos de origen allí mismo!

Alex Argo
fuente
¿Existe un método diferente al usar el complemento maven m2e?
cmcginty
1
Consulte también: ¿Cómo adjuntar javadoc o fuentes a frascos en la carpeta libs? sobre cómo hacerlo para Android donde la solución a continuación no funciona.
blahdiblah

Respuestas:

153

La respuesta corta sería sí.

Puede adjuntar fuente utilizando las propiedades de un proyecto.

Vaya a Propiedades (para el Proyecto) -> Ruta de compilación de Java -> Bibliotecas

Seleccione la Biblioteca a la que desea adjuntar el código fuente / javadoc y luego amplíelo, verá una lista como esta:

Source Attachment: (none)
Javadoc location: (none)
Native library location: (none)
Access rules: (No restrictions)

Seleccione la ubicación Javadoc y luego haga clic en Editar en el lado derecho. Debería ser bastante sencillo a partir de ahí.

Buena suerte :)

Henry B
fuente
3
Por supuesto, debe tener en cuenta que también puede hacer lo mismo con la sección Adjunto de origen si tiene el origen real que desea adjuntar. Luego obtiene el Javadoc y puede mirar la fuente real directamente si lo desea.
ColinD
14
Llamaría a esto la forma difícil y dolorosa de adjuntar la fuente. Debe hacerlo cada vez que incluya el archivo jar en cada proyecto que use el jar. Cuando tienes muchos frascos y muchos proyectos, eso no es bueno.
James Moore
3
@JamesMoore, ¿hay una mejor manera?
Felix
12
¡Demasiados votos para esta respuesta! La respuesta mejorada de 5 años es el mencionado atacante fuente de Java que realmente encaja "de una manera fácil".
sevenforce
1
¿Qué hacer cuando tenemos "no modificable" en la biblioteca?
Henrique de Sousa
108

Hasta ayer estaba atascado descargando minuciosamente las cremalleras de origen para toneladas de frascos y adjuntándolos manualmente para cada proyecto. Luego, un colega me convirtió en The Java Source Attacher . Hace lo que debería hacer eclipse: un menú contextual con el botón derecho que dice "Adjuntar fuente Java".

ingrese la descripción de la imagen aquí

Descarga automáticamente la fuente y la adjunta. Solo he encontrado un par de bibliotecas que no conoce y, cuando eso sucede, le permite contribuir con la URL a la comunidad para que nadie más tenga un problema con esa biblioteca.

tterrace
fuente
Funciona, pero ¿hay alguna manera fácil de pasar del método que está inspeccionando al frasco del que proviene en Project Explorer?
Noumenon
Tenga en cuenta que los .jararchivos no se guardan en su carpeta de proyecto, por .classpathlo que no será portátil si está colaborando con otros.
Stevoisiak
14

Una manera fácil de hacer esto es:

  1. Descargue los archivos / carpetas SRC respectivos.

  2. En el editor de eclipse, Ctrl + clic o F3 en un método / clase para el que necesita la fuente. Se abre una nueva pestaña que dice "No se encontró una fuente adjunta".

  3. Haga clic en el botón "adjuntar fuentes", haga clic en el botón "adjuntar carpeta de origen", busque la ubicación de la carpeta SRC descargada. ¡Hecho!

(ps: las etiquetas de los botones pueden variar ligeramente, pero esto es prácticamente todo).

Nuevo Méjico
fuente
5

Descubrí que a veces, usted señala el directorio que supondría que era correcto, y aún así indica que no puede encontrar el archivo en la fuente adjunta, bla, bla.

Estas veces, me di cuenta de que el último elemento de ruta era "src". Simplemente eliminando este elemento de ruta (de hecho, apuntando un nivel por encima de la ruta real donde se encuentra la carpeta "org" o "com") mágicamente lo hace funcionar.

De alguna manera, Eclipse parece implicar este elemento de ruta "src" si está presente, y si luego lo tiene incluido en la ruta de origen, Eclipse se ahoga. O algo así.

Stolsvik
fuente
Tengo el mismo problema: la fuente está en un directorio llamado "fuente" (donde se encuentran "org", etc.) pero no puedo hacer que Eclipse lo use mientras Ctrl + clic en el nombre de un método. En cambio, obtengo la vista de código de byte. Traté de cambiar su nombre a "src", usando "org" como directorio, o el de arriba "fuente" pero nada cambia ...
Matthieu
No creo que Eclipse asuma que srces parte del camino. Simplemente elija la carpeta que contiene una carpeta con el nombre del nombre de dominio de nivel superior del paquete.
H2ONaCl
@broiyan: ¡Es curioso que no creas eso, cuando acabo de decir que esto es lo que empíricamente, físicamente experimenté ! :-)
stolsvik
5

sí, hay una manera fácil ... vaya a ... http://sourceforge.net/projects/jdk7src/ y descargue el archivo zip. Luego adjunte esto al eclipse. Indique la ruta donde ha descargado el archivo zip en eclipse. Luego podemos navegar a través de la fuente.

Ambika
fuente
5

1) Mantenga presionado Control + clic izquierdo en el método que desea ver. Entonces Eclipse lo llevará a la página Fuente no encontrada.

2) Haga clic en "Adjuntar fuente" ingrese la descripción de la imagen aquí

3) ingrese la descripción de la imagen aquí

4) Navegue a C: \ Archivos de programa \ Java \ jdk-9.0.1 \ lib \ src.zip

5) Haga clic en Aceptar. ingrese la descripción de la imagen aquí Ahora debería ver el código fuente.

Gene
fuente
4

Cuando agrega un archivo jar a un classpath, puede adjuntar un directorio fuente o un archivo zip o jar a ese jar. En las propiedades de Java Build Path, en la pestaña Bibliotecas, expanda la entrada para el jar y verá que hay un elemento para el archivo adjunto de origen. Seleccione este elemento y luego haga clic en el botón Editar. Esto le permite seleccionar la carpeta, jar o zip que contiene la fuente.

Además, si selecciona una clase o un método en el jar y CTRL + CLIC en él (o presiona F3), accederá a la vista de código de bytes que tiene una opción para adjuntar el código fuente.

Hacer estas cosas le dará todos los nombres de los parámetros, así como el javadoc completo.

Si no tiene la fuente pero tiene el javadoc, puede adjuntar el javadoc a través del primer método. Incluso puede hacer referencia a una URL externa si no la ha descargado.

Mate
fuente
3
  1. Haga clic en el código JAVA que desea ver. (Haga clic en Lista para abrir List.java si desea verificar el código fuente de java.util.List)
  2. Haga clic en el botón "Adjuntar fuente".
  3. Se le pedirá que "Seleccione la ubicación (carpeta, JAR o zip) que contiene la fuente para rt.jar).
  4. Seleccione la opción "Ubicación externa". Localice el archivo src.zip.
  5. La ruta para src.zip es: * \ Java \ jdk1.8.0_45 \ src.zip
BSM
fuente
2
  1. Ponga los archivos fuente en un archivo zip (como lo hace para la fuente java)
  2. Vaya a Propiedades del proyecto -> Bibliotecas
  3. Seleccione el archivo adjunto de origen y haga clic en 'Editar'
  4. En la configuración del archivo adjunto de origen, haga clic en 'Variable'
  5. En "Selección de variables", haga clic en "Nuevo"
  6. Pon un nombre significativo y selecciona el archivo zip creado en el paso 1
Ranga
fuente
1

Otra opción es hacer clic con el botón derecho en el archivo jar que estaría debajo de (Su proyecto) -> Bibliotecas referenciadas -> (su jar) y hacer clic en propiedades. Luego haga clic en Java Source Attachment. Y luego, en la ruta de ubicación, coloque la ubicación para su archivo jar de origen.

Este es solo otro enfoque para adjuntar su archivo fuente.

Sastre Nilesh
fuente
1

Si construye sus bibliotecas con gradle, puede adjuntar fuentes a los frascos que cree y luego eclipse las usará automáticamente. Vea la respuesta de @MichaelOryl Cómo construir fuentes jar con gradle .

Copiado aquí para su referencia:

jar {
    from sourceSets.main.allSource
}

La solución que se muestra es para usar con el complemento gradle java. El kilometraje puede variar si no está usando ese complemento.

Joshua Richardson
fuente
0

Otro pensamiento para facilitarlo cuando se utiliza una compilación automatizada:

Cuando cree un jar de uno de sus proyectos, también cree un jar de archivos fuente:
project.jar
project-src.jar

En lugar de ir al cuadro de diálogo de opciones de ruta de compilación para agregar una referencia de origen a cada jar, intente lo siguiente: agregue una referencia de origen a través del cuadro de diálogo. Edite su .classpath y, utilizando la primera entrada jar como plantilla, agregue los archivos jar fuente a cada uno de sus otros jar.

De esta manera, puede utilizar las ayudas de navegación de Eclipse al máximo mientras utiliza algo más independiente para construir sus proyectos.

Akrikos
fuente
0

Iba a pedir una alternativa para adjuntar fuentes al mismo JAR que se usa en múltiples proyectos. Originalmente, pensé que la única alternativa es reconstruir el JAR con la fuente incluida, pero mirando la función "biblioteca de usuario", no tiene que construir el JAR con la fuente.

Esta es una alternativa cuando tiene varios proyectos (relacionados o no) que hacen referencia al mismo JAR. Cree una "biblioteca de usuario" para cada JAR y adjunte la fuente a ellos. La próxima vez que necesite un JAR específico, en lugar de usar "Agregar JAR ..." o "Agregar JAR externos ...", agrega la "biblioteca de usuario" que ha creado previamente.

Solo tendría que adjuntar la fuente UNA VEZ por JAR y puede reutilizarla para cualquier número de proyectos.

nevets1219
fuente
0

Para aquellos que escriben complementos de Eclipse y desean incluir la fuente ... en la función ExportWizard hay una opción para incluir la fuente: ingrese la descripción de la imagen aquí

Stefan
fuente
0

Simplemente haga clic en adjuntar fuente y seleccione la ruta de la carpeta ... el nombre será el mismo que el nombre de la carpeta (en mi caso). Recuerde una cosa que necesita para seleccionar la ruta hacia la ubicación base de la carpeta del proyecto con "\" en el sufijo ex D: \ MyProject \

Gaurav Deshmukh
fuente
-2

Puede parecer excesivo, pero si usa Maven e incluye fuente, el complemento mvn eclipse generará toda la configuración de fuente necesaria para proporcionarle toda la documentación en línea que puede solicitar.

Alex Argo
fuente
1
Pero junto con eso, se necesita un mazo para su sistema de construcción Eclipse normal, aplastando lo que solía funcionar.
James Moore