我可能会遗漏一些非常明显的东西,但我找不到javax.persistence包中几个类的源代码。
我正在使用EclipseLink作为JPA提供程序。当我尝试按Ctrl +左键单击EntityManager接口的方法时,Eclipse说我应该附加源,因为它找不到它们。我尝试附加EclipseLink但它抱怨它无法在那里找到EntityManager的源代码。
为了查看Eclipse中的代码,我需要附加哪些来源?有人可以提供链接吗?
答案 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
mvn eclipse:eclipse -DdownloadSource=true
命令,将源jar下载到本地.m2
repo。如果您使用m2eclipse
插件,
答案 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许可证