javax.persistence。*来源,在哪里?

时间:2011-01-26 11:27:29

标签: java eclipse jpa eclipselink

我可能会遗漏一些非常明显的东西,但我找不到javax.persistence包中几个类的源代码。

我正在使用EclipseLink作为JPA提供程序。当我尝试按Ctrl +左键单击EntityManager接口的方法时,Eclipse说我应该附加源,因为它找不到它们。我尝试附加EclipseLink但它抱怨它无法在那里找到EntityManager的源代码。

为了查看Eclipse中的代码,我需要附加哪些来源?有人可以提供链接吗?

5 个答案:

答案 0 :(得分:6)

我认为如果在Eclipse中创建JPA项目类型,您将能够看到JPA源代码,或者可能加载JPA模块。

只有EclipseLink的源代码在eclipselink-src.jar中,您可以从EclipseLink存储库访问JPA的源代码,

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

源代码对于JPA并不那么有趣,因为它是一个规范,而且所有接口都没有真正的代码。

答案 1 :(得分:4)

通过克隆git repo:

可以看到接口的实际实现
git clone https://github.com/eclipse/javax.persistence.git
cd javax.persistence

==然后找一个特定的功能

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();

答案 2 :(得分:1)

如果您使用maven

  1. 问题mvn eclipse:eclipse -DdownloadSource=true命令,将源jar下载到本地.m2 repo。
  2. 在eclipse中刷新项目。
  3. 如果您使用m2eclipse插件,

    1. 右键点击项目 - > Maven - >下载资源。
    2. 右键点击项目 - > Maven - >更新项目配置。

答案 3 :(得分:0)

也许您对类jar和源jar使用了不同的版本?

答案 4 :(得分:0)

你可以从Apache获得等价物 http://repo2.maven.org/maven2/org/apache/geronimo/specs/geronimo-jpa_2.0_spec/1.1/ 并且该目录具有源和运行时jar。这是一个更灵活的Apache 2许可证