当前位置: 首页 > 知识库问答 >
问题:

Wildfly-10.1.0.final中的EclipseLink配置不反映PersistenceProvider

危卜鹰
2023-03-14

我使用EclipseLink作为JPA实现。在Wildfly-10.1.0.final中部署时,我总是得到错误No Persistence provider for EntityManager name 。我遵循了链接中的步骤:

>

  • https://docs.jboss.org/author/display/wfly10/jpa+referenceGuide#jpareferenceGuide-使用eclipselink

    https://developer.jboss.org/thread/273134

    steps和module.xml与Mine.xml完全匹配。在standalone.xml中,我启用了上面第一个链接中所述的system属性

    我启用了跟踪日志记录,并发现以下内容:[org.hibernate.jpa.hibernatePersistenceProvider](默认任务-4)由于名称不匹配而排除在考虑范围之外

    持久性提供程序:org.eclipse.Persistence.jpa.persistenceprovider JDK版本:1.8

    请求有人能指出我哪里出了问题。

    将跟踪添加为

    Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named AAAAA_BBBB
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    
    2017-02-23 17:47:09,276 DEBUG [org.hibernate.jpa.HibernatePersistenceProvider] (default task-55) Checking persistence-unit [name=AAAAA_BBBB, explicit-provider=org.eclipse.persistence.jpa.PersistenceProvider] against incoming persistence unit name [AAAAA_BBBB]
    2017-02-23 17:47:09,276 DEBUG [org.hibernate.jpa.HibernatePersistenceProvider] (default task-56) Checking persistence-unit [name=AAAAA_BBBB, explicit-provider=org.eclipse.persistence.jpa.PersistenceProvider] against incoming persistence unit name [AAAAA_BBBB]
    2017-02-23 17:47:09,277 DEBUG [org.hibernate.jpa.HibernatePersistenceProvider] (default task-56) Excluding from consideration due to name mis-match
    

    persistence.xml

    <persistence-unit name="AAA_BBB" transaction-type="JTA">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>    
            <jta-data-source>java:/<jndi-Name in standalone</jta-data-source>
            <class>...</class>
            <properties>
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
                <property name="javax.persistence.jdbc.url" value="<url>"/>
                <property name="javax.persistence.jdbc.user" value="<username>"/>
                <property name="javax.persistence.jdbc.password" value="<pwd>"/>
            </properties>
        </persistence-unit>
        <persistence-unit name="CCC_DDD" transaction-type="RESOURCE_LOCAL">
            <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>    
            <jta-data-source>java:/<jndi-Name in standalone</jta-data-source>       
            <class>...</class>
            <properties>
                <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
                <property name="javax.persistence.jdbc.url" value="<url>"/>
                <property name="javax.persistence.jdbc.user" value="<username>"/>
                <property name="javax.persistence.jdbc.password" value="<pwd>"/>
            </properties>
        </persistence-unit>
    
  • 共有1个答案

    董康平
    2023-03-14

    我终于能以一种有点奇怪的方式(大概)解决这个问题了

    步骤1:在名称(com.abc.persistence:main)下创建了一个模块目录步骤2将eclipselink和jipijapa的所有相关JAR复制到同一个模块中并引用它。

    第二步。删除了系统属性“eclipselink.archive.factory”

    我分析的是,如果放置了一个系统属性,那么其他属性(如目标服务器)就永远不会添加到属性映射中(我在代码中的某个地方进行了检查)。一旦我删除了,我想所有其他的也会被添加,因此它可以工作,因为如果在模块中创建上面的目录(上面的步骤1)可以工作,我不会感到惊讶。

     类似资料:
    • 我尝试使用mysql-connector-java-5.1.38 xml(wildfly-10.1.0.final\module\system\layers\base\com\mysql\main) 在mysql-connector-java-5.1.38上使用和不使用“.jar”都试过 由 但没有奏效 完全有趣的stacktrace错误[org.jboss.as.controller.manag

    • 我想用Maven构建一个Spring MVC webapp,它使用EclipseLink作为JPA提供程序,并在Wildfly application Server上运行。不幸的是,我不能让它运行。我想用所有东西的最新版本。 当我尝试在Wildfly8.2或Tomcat8上运行webapp时,我得到了以下错误: 下面是我的项目的文件层次结构。(我还不能在上面分享图像) 我没有打开实体包,因为我有大

    • 我们用的是wildly 10 . 1 . 0最终版。 我们遇到了线程不断增长导致的OutOfMemoryError错误。 检查线程转储后。 我们发现有成千上万的远程处理“endpoint”任务 N 线程。 远程处理“终结点”任务 N 线程的用途是什么? 它们是由jobss-remoting创建的吗? 重新启动服务器后,我们发现一开始只有16个线程: 移除“endpoint”任务-1~移除“endp

    • 我有一个使用以下方法的会话豆: 返回的CalculationResult无法映射到JSON,并出现以下异常: 如何在 Wildfly 中配置杰克逊及其?