eclipse - 如何在 JBoss AS 7.1.3 中添加更新版本的 Hibernate

标签 eclipse hibernate maven jboss

我安装了 Hibernate 4.1.6 附带的 JBoss AS 7.1.3(没有机会改变它)。由于此类版本中的错误(没有可用的解决方法),我必须更新我的应用程序以使用 Hibernate 5.1。

由于这发生在特定应用程序中,只有那个应用程序必须接收更新版本的 Hibernate,同一服务器中的其他应用程序必须继续使用已经存在的 Hibernate 版本。

如何:

  • 向现有的 JBoss AS 7.1 安装添加新的 Hibernate 版本?
  • 配置我的 Eclipse Maven 项目以使用该 Hibernate 版本?

  • 蒂亚!

    更新1

    这是我目前的module.xml文件,位于 ...\jboss-as-7.1.3.Final\modules\org\hibernate\5.1.10.Final :
    <module xmlns="urn:jboss:module:1.1" name="org.hibernate:5.1.10.Final">
        <resources>
            <resource-root path="hibernate-core-5.1.10.Final.jar"/>
            <resource-root path="hibernate-entitymanager-5.1.10.Final.jar"/>
            <resource-root path="hibernate-infinispan-5.1.10.Final.jar"/>
            <!-- Insert resources here -->
        </resources>
    
        <dependencies>
            <module name="asm.asm"/>
            <module name="javax.api"/>
            <module name="javax.persistence.api"/>
            <module name="javax.transaction.api"/>
            <module name="javax.validation.api"/>
            <module name="org.antlr"/>
            <module name="org.apache.commons.collections"/>
            <module name="org.dom4j"/>
            <module name="org.infinispan" optional="true"/>
            <module name="org.javassist"/>
            <module name="org.jboss.as.jpa.hibernate" slot="4" optional="true"/>
            <module name="org.jboss.logging"/>
            <module name="org.hibernate.envers" services="import" optional="true"/>
            <module name="org.hibernate.commons-annotations"/>
        </dependencies>
    </module>
    

    最佳答案

    您可以在 jboss-deployment-structure.xml 中控制类加载.它应该看起来像这样(请阅读您的 jboss 版本的文档以了解确切的配置参数):

    <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <deployment>
            <exclusions>
                <module name="org.hibernate" slot="main" />
            </exclusions>
            <dependencies>
                <module name="org.hibernate" slot="5.1.10.Final" />
            </dependencies>
        </deployment>
    </jboss-deployment-structure>
    

    您可能还需要在 persistence.xml 中添加以下属性:
    <property name="jboss.as.jpa.providerModule" value="org.hibernate:5.1.10.Final"/>
    

    此外,创建一个新模块并为您要使用的 Hibernate 版本复制必要的 jar; here有关 AS7 中类加载的更多详细信息。

    关于eclipse - 如何在 JBoss AS 7.1.3 中添加更新版本的 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45885732/

    相关文章:

    eclipse - 使用 Ant 为 Web 应用程序构建 WAR 文件

    eclipse - java.lang.exception 没有可运行的方法 junit

    maven - Maven Polyglot 怎么了?

    maven - 有没有人尝试过使用 Mvn Deploy 部署到 Rational Team Concert

    maven - @Valid 无法解析为 Spring 4.0.3 类型

    java - 一个 Activity 上的第二个按钮关闭 android 应用程序

    android - 在 android eclipse 上切换页面时出错

    java - Spring 配置的 Hibernate 方言问题

    mysql - 使用 Criteria API : slow performance in MySql 的 Hibernate 子选择

    oracle - Jpa - Hibernate ManyToMany 在连接表中进行多次插入