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

时间:2017-08-25 16:24:32

标签: eclipse hibernate maven jboss

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

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

如何:

  1. 将新的Hibernate版本添加到现有的JBoss AS 7.1安装中?
  2. 配置我的Eclipse Maven项目以使用该Hibernate版本吗?
  3. TIA!

    UPDATE1

    这是我当前的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>
    

2 个答案:

答案 0 :(得分:3)

您可以在let recorder=RPScreenRecorder.shared() func start_new_record(){ guard recorder.isAvailable else{ print("not available") return } recorder.delegate=self recorder.startRecording {error in guard error != nil else{ print("error:", error ?? "") return } print("start recording handler") // <- never called } } func screenRecorder(_ screenRecorder: RPScreenRecorder, didStopRecordingWith previewViewController: RPPreviewViewController?, error: Error?){ print("didStopRecordingWith:", error ?? "") } 中控制班级加载。它看起来应该是这样的(请阅读jboss版本关于确切配置参数的文档):

jboss-deployment-structure.xml

您可能还需要在<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

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

答案 1 :(得分:0)

用新的jar(在modules / org / hibernate下)替换现有的jar,并确保你有正确的依赖。 更换罐子后,您需要确保更新罐子名称。因此,通过更新应与新模块匹配的资源根路径来编辑module.xml。

在你的pom.xml中,确保你更新的模块版本应该与你在jboss安装下指定的版本相匹配。