如何将 Hibernate 5 安装到 Apache Karaf v4 中

How to install Hibernate 5 into Apache Karaf v4

我已经安装了 Apache Karaf v4.03 并查询了 Hibernate 的可用功能列表,如下所列。不幸的是,我正在使用 Hibernate v5。

hibernate                     | 3.3.2.GA         |          | Uninstalled | enterprise-4.0.3         | Hibernate 3.x JPA persistence engine support
hibernate                     | 4.2.15.Final     |          | Uninstalled | enterprise-4.0.3         | Hibernate 4.2.x JPA persistence engine support
hibernate-envers              | 4.2.15.Final     |          | Uninstalled | enterprise-4.0.3         | Hibernate Envers 4.2.x
hibernate                     | 4.3.6.Final      |          | Uninstalled | enterprise-4.0.3         | Hibernate 4.3.x JPA persistence engine support
hibernate-envers              | 4.3.6.Final      |          | Uninstalled | enterprise-4.0.3         | Hibernate Envers 4.3.x
hibernate-validator           | 5.0.3.Final      |          | Uninstalled | enterprise-4.0.3         | Hibernate Validator support

我找不到将 Hibernate v5 安装到 Karaf v4 的说明。是否有执行此任务的已发布说明,也许还有可下载的功能文件?

Karaf 已准备好最新的休眠版本:

如果您从 hibernate 的页面 (http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.5.Final/hibernate-release-5.0.5.Final.zip/download) 下载 hibernate-release-5.0.5.Final.zip 并解压该文件,您将看到一个 osgi 文件夹。 在那里你可以找到一个已经准备好的功能:hibernate-osgi-5.0.5.Final-karaf.xml。 你可以把它复制到Karaf的部署文件夹然后执行:

feature:install hibernate-orm

应该安装没有问题。

安装 hibernate 5.0.5 功能的另一种方法是使用以下命令向功能添加一个 repo:

feature:repo-add command.

在这里你可以看到hibernate的功能列表和我安装的功能:

karaf@root()> feature:list | grep hibernate
hibernate                     | 3.3.2.GA         |          | Uninstalled | enterprise-4.0.3         | Hibernate 3.x JPA persistence engine support
hibernate                     | 4.2.15.Final     |          | Uninstalled | enterprise-4.0.3         | Hibernate 4.2.x JPA persistence engine support
hibernate-envers              | 4.2.15.Final     |          | Uninstalled | enterprise-4.0.3         | Hibernate Envers 4.2.x
hibernate                     | 4.3.6.Final      |          | Uninstalled | enterprise-4.0.3         | Hibernate 4.3.x JPA persistence engine support
hibernate-envers              | 4.3.6.Final      |          | Uninstalled | enterprise-4.0.3         | Hibernate Envers 4.3.x
hibernate-validator           | 5.0.3.Final      |          | Uninstalled | enterprise-4.0.3         | Hibernate Validator support
hibernate-orm                 | 5.0.5.Final      | x        | Started     | hibernate-osgi           | Combines all Hibernate core dependencies and requ
hibernate-envers              | 5.0.5.Final      |          | Uninstalled | hibernate-osgi           | Feature for easily adding Envers support to hiber
hibernate-infinispan          | 5.0.5.Final      |          | Uninstalled | hibernate-osgi           | Feature for easily adding Infinispan-based cachin
hibernate-ehcache             | 5.0.5.Final      |          | Uninstalled | hibernate-osgi           | Feature for easily adding Ehcache-based caching s
karaf@root()>

运行 在 Karaf 上执行以下命令 shell 以获得 Hibernate 5.1。0.Final 在 Karaf 4 上运行。0.x:

feature:repo-add mvn:org.hibernate/hibernate-osgi/5.1.0.Final/xml/karaf
feature:install hibernate-orm

Hibernate 5 已经提供了一个也可以从 maven central 获得的特性。最近的 karaf 版本提供了一个很好的快捷方式来安装这些功能:

feature:repo-add hibernate 5.0.5.Final
feature:install hibernate-orm

因此无需手动下载hibernate zip。 如果您构建自己的需要休眠 5 的功能,那么您需要在其中提供一个指向完整休眠功能的元素 url.

mvn:org.hibernate/hibernate-osgi/5.0.5.Final/xml/karaf