我安装了JBoss AS 7.1.3(没有机会改变它),它与Hibernate 4.1.6一起提供。由于此类版本中的错误(没有可用的解决方法),我必须更新我的应用程序才能使用Hibernate 5.1。
由于这在特定应用程序中发生,只有那个必须接收更新版本的Hibernate,同一服务器中的其他应用程序必须继续使用已经存在的Hibernate版本。
如何:
TIA!
这是我当前的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>
答案 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安装下指定的版本相匹配。