【问题标题】:How to install Hibernate 5 into Apache Karaf v4如何将 Hibernate 5 安装到 Apache Karaf v4 中
【发布时间】:2016-03-19 07:40:06
【问题描述】:

我已经安装了 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 的说明。是否发布了执行此任务的说明,或者是否有可下载的功能文件?

【问题讨论】:

    标签: java hibernate karaf


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      在 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
      

      【讨论】:

        【解决方案3】:

        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
        

        【讨论】:

        • 这些都不适用于 Karaf 4.0.5 执行命令时出错:无法解析 root:缺少要求 [root] osgi.identity; osgi.identity=休眠-orm;类型=karaf.feature;版本="[5.2.3.Final,5.2.3.Final]"; filter:="(&(osgi.identity=hibernate-orm)(type=karaf.feature)(version>=5.2.3.Final)(version
        • 您是否尝试过在我提供的命令列表中将 5.0.5 版本替换为 5.2.3?
        猜你喜欢
        • 2017-01-19
        • 2016-06-26
        • 1970-01-01
        • 1970-01-01
        • 2016-09-24
        • 1970-01-01
        • 2015-05-29
        • 2012-07-08
        • 2015-12-05
        相关资源
        最近更新 更多