如何从Wildfly 10应用程序中排除默认的Hibernate(5)?

时间:2016-09-21 10:01:08

标签: hibernate jpa jboss wildfly wildfly-10

(我根据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>

2 个答案:

答案 0 :(得分:1)

对于EAR,您需要为每个子部署排除模块。有关详细信息,请参阅class loading documentation

你也可以在WildFly 10中使用Hibernate 4.x。看看JPA Reference documentation

答案 1 :(得分:0)

我们遇到了需要将Hibernate从5.X(Wildfly提供)升级到5.2.2.Final的问题。必须采取两个步骤:

  1. .ear application/META-INF/jboss-deployment-structure.xml看起来像
  2. <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>

    1. persistence.xml有条目
    2. <property name="jboss.as.jpa.providerModule" value="org.hibernate:5.2.2.Final"/>