我正在编写一个从中央数据库加载资源的Eclipse插件。我想使用Hibernate访问该数据库。
那么如何将它作为依赖项添加到我的插件项目中呢?我试过谷歌,但只对编辑 Hibernate 配置文件的插件有所了解。
我将创建一个休眠插件,它公开所有休眠 jar 文件并导出包含的类。然后,我的配置和数据将位于另一个依赖休眠的插件中。
然后,因为 hibernate 像没有明天一样使用反射,所以 Hibernate 插件需要能够从依赖它的插件中加载类。为此,您需要使用 Eclipse-BuddyPolicy 指令。 检查这个关于 eclipse 上的类加载的文档,它提到了 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,
您可以坚持使用标准的 hibernate 教程,如 hibernate.org 或 Gaven Kings book 上提供的文档,以便在 eclipse rcp 项目中结合使用 hibernate。
最简单的方法是将您的 Hibernate 相关代码和您的配置包含在您当前开发的插件中。
因此,您的插件必须依赖于每个休眠项目所依赖的 jar 文件。您还可以通过单独的插件提供这些库并简单地导出它们。
但是您必须记住,hibernate 大量使用反射,并且您的持久化类必须可供持久性管理器访问。
在http://entwickler.de/zonen/portale/psecom,id,101,online,1082,.html上还有一个非常好的将 hibernate 集成为单独插件的教程,但不幸的是它只有德语。