2011-01-26 13 views
13

Me podría estar faltando algo realmente obvio aquí, pero no pude encontrar las fuentes para algunas clases del paquete javax.persistence.javax.persistence. * Sources, where?

Estoy usando EclipseLink como un proveedor de JPA. Cuando intenté Ctrl + clic izquierdo en un método de la interfaz de EntityManager, Eclipse dijo que debería adjuntar las fuentes ya que no puede encontrarlas. Traté de adjuntar los de EclipseLink, pero se quejó de que no puede encontrar la fuente de EntityManager allí.

¿Qué fuentes debo adjuntar para ver el código en Eclipse? ¿Podría alguien proporcionar un enlace?

Respuesta

6

Creo que si crea un tipo de proyecto JPA en Eclipse, podrá ver el origen JPA, o quizás cargar el módulo JPA.

Sólo el código fuente para EclipseLink está en el EclipseLink-src.jar, puede acceder a la fuente de la APP desde el repositorio EclipseLink,

http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/jpa/plugins/

La fuente no es tan interesante para la APP, como es una especificación, y todas las interfaces, hay poco o ningún código real.

+1

¡Gracias, el .jar etiquetado con "fuente" hizo el truco! Sé que es solo una especificación y es principalmente interfaces, pero quería echar un vistazo mientras se depura hoy, principalmente el javadoc que aparece cuando se pasa el ratón sobre el método. – pnt

+0

Hice un wget http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/jpa/plugins/javax.persistence.source_2.0.101.v201206242320.jar, descomprimí y cuando eclipse me pidió la fuente, acabo de seleccionar la fuente descomprimida.Ahora, puedo ver el código fuente cuando sobrevivo sobre los métodos javax.persistence.xyz. Muchas gracias. – user674669

1

si utiliza maven

  1. comando Edición mvn eclipse:eclipse -DdownloadSource=true, para descargar los frascos fuentes locales a .m2 de recompra.
  2. actualice el proyecto en eclipse.

Si utiliza m2eclipse plugin,

  1. haga clic derecho sobre el proyecto -> Maven -> Descargar Fuentes.
  2. haga clic derecho en proyecto -> Maven -> Actualizar configuración del proyecto.
0

Quizás utilizaste una versión diferente para las clases jar y sources jar?

+0

Yo no lo creo - ambos se toman de el mismo archivo que descargué hace un par de semanas. La distribución debe estar sincronizada. Además, las fuentes están en un archivo zip. – pnt

4

Las implementaciones reales de las interfaces se puede ver mediante la clonación del repositorio git:

git clone https://github.com/eclipse/javax.persistence.git 
cd javax.persistence 

== luego encontrar una función específica

grep -ir 'close()' * 
src/javax/persistence/EntityManager.java: public void close(); 
src/javax/persistence/EntityManagerFactory.java: public void close(); 
src/javax/persistence/spi/PersistenceProviderResolverHolder.java: in.close();