(我根据James Perkins的有用提示修改了我的问题)
我正在尝试从Jboss 4.2.3升级到WildFly 10是一个涉及的过程。为了不改变太多的东西我想尝试让应用程序工作而不改变Hibernate依赖(对于默认的Hibernate 5)。
文档解释了如何以各种方式使用jboss 4.0 - 4.3,没有一个是清楚的,但每种方法都告诉你首先“从你的应用程序中排除Hibernate 5类”。
在我继续之前,我想知道如何做到这一点。 目前,在将应用程序放入独立部署文件夹并启动服务器之后,我在日志中收到以下(清理/修剪)消息:
WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service MyEar.ear#my_unit'
HHH000412: Hibernate Core {5.0.10.Final}
HHH000206: hibernate.properties not found
HHH000021: Bytecode provider name : javassist
HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
和
HV000001: Hibernate Validator 5.2.4.Final
尽管我在上面排除了,但似乎使用了Hibernate 5 我不应该收到这些消息。 什么是遗失/错误?
以下是我的申请说明: 结构如下:
.ear
lib
META-INF
web.war
META-INF
WEB-INF
lib
jar1.jar
META-INF
jar1.jar
META-INF
ejb1.jar
META-INF
ejb2.jar
META-INF
我创建了一个jboss-deployment-structure.xml文件,并将其放在树中的所有META-INF文件夹中(总共6个位置!)。 .ear看起来像其他有类似目标的人一样建议:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.hibernate" />
</exclusions>
</deployment>
</jboss-deployment-structure>
答案 0 :(得分:1)
对于EAR,您需要为每个子部署排除模块。有关详细信息,请参阅class loading documentation。
你也可以在WildFly 10中使用Hibernate 4.x。看看JPA Reference documentation。
答案 1 :(得分:0)
我们遇到了需要将Hibernate从5.X(Wildfly提供)升级到5.2.2.Final的问题。必须采取两个步骤:
application/META-INF/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.2.2.Final" />
</dependencies>
</deployment>
</jboss-deployment-structure>
persistence.xml
有条目 <property name="jboss.as.jpa.providerModule" value="org.hibernate:5.2.2.Final"/>