我正在编写一个Eclipse插件,用于从中央数据库加载资源。我想使用Hibernate来访问该数据库。
那么我如何将它作为依赖项添加到我的插件项目中呢?我已经尝试了谷歌,但只能点击关于编辑Hibernate配置文件的插件。
答案 0 :(得分:1)
我会创建一个hibernate插件,它公开所有hibernate jar文件并导出包含的类。我的配置和数据将在另一个依赖于休眠的插件中。
然后,因为hibernate使用反射而不是明天,所以Hibernate插件需要能够从依赖它的插件中加载类。为此,您需要使用Eclipse-BuddyPolicy指令。 Check this documentation on classloading on eclipse that mentions BuddyPolicy
我使用这种技术设置了一个Kodo JDO插件,效果很好。来自我的Manifest.mf的样本已附上
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Solarmetric Kodo
Bundle-SymbolicName: com.solarmetric.kodo
Bundle-Activator: com.solarmetric.kodo.KodoPlugin
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime
Eclipse-AutoStart: true
Eclipse-BuddyPolicy: global
Export-Package: com.solarmetric.ant,
com.solarmetric.apache.commons.collections,
com.solarmetric.apache.commons.collections.buffer,
com.solarmetric.apache.commons.collections.collection,
com.solarmetric.apache.commons.collections.functors,
com.solarmetric.apache.commons.collections.iterators,
com.solarmetric.apache.commons.collections.keyvalue,
答案 1 :(得分:0)
你可以坚持使用标准的hibernate教程,比如hibernate.org或Gaven Kings书中提供的文档,以便在eclipse rcp项目中结合使用hibernate。
最简单的方法是在您当前开发的插件中包含与Hibernate相关的代码和配置。
因此你的插件必须依赖于jar文件,每个hibernate项目都依赖于。您也可以通过单独的插件提供这些库,然后只需导出它们。
但是你必须记住,hibernate大量使用反射,你的持久化管理器必须可以访问你的可持久化类。
还有一个非常好的教程,可以将hibernate作为单独的插件集成到http://entwickler.de/zonen/portale/psecom,id,101,online,1082,.html上,但遗憾的是它仅限于德语。