2017-02-22 3 views
0

JPA実装としてEclipseLinkを使用しています。 Wildfly10.1.0.Finalに展開中、私はいつもエラーNo Persistence provider for EntityManager named <the persistence unit name>を取得します。私はシステムを有効にしているPersistenceProviderに反映されていないWildLink-10.1.0.FinalのEclipseLink構成

  1. https://docs.jboss.org/author/display/WFLY10/JPA+Reference+Guide#JPAReferenceGuide-UsingEclipseLink

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

ステップとmodule.xmlが正確mine.Inのstandalone.xmlと一致します。私は、リンクのステップに従っていますプロパティ上記の最初のリンクに記載されているように

私はトレースログを有効にし、以下を見つけました: [org.hibernate.jpa.HibernatePersistenceProvider](デフォルトタスク-4)による名前不整合

持続性プロバイダへの考慮から除く:org.eclipse.persistence.jpa.PersistenceProvider JDKのバージョン:1.8

誰かが私が間違っている場所に光を当てることができるかどうかをリクエストしてください。 32::49031 TRACE [org.hibernate.jpa

はミスマッチ

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 

追加のトレース

2017年2月24日05の

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) 

その他のトレースとしてのトレースを追加しました。 boot.spi.ProviderChecker](デフォルトタスク-7)要求されたPersistenceProvider名[org.eclipse.persistence.jpa.PersistenceProvider]をHibernateプロバイダ名に対して確認する 2017-02-24 05: 32:49,031 DEBUG [org.hibernate.jpa.HibernatePersistenceProvider](デフォルトタスク-11)プロバイダの不一致による対処から除外 2017-02-24 05:32:49,031 TRACE [org.hibernate.jpa.boot.spi .ProviderChecker](デフォルトのタスク-7)はHibernateのプロバイダ名

<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> 
+0

「EntityManagerの永続性プロバイダはありません...」という例外はどこにありますか?おそらく、スタックトレースの一部を含めることができます。 –

+0

ご返信ありがとうございます。私は今質問自体にスタックトレースを追加しました。より正確には、私のentityJarはWildfly10.1.0Finalのmodeulesディレクトリにあります。これにはmodule.xml内の依存関係とorg.eclipse.persistenceがentityJarsのMANIFEST.MFに記載されています –

+0

私はEclipseLink 2.6.4とJava 1.8を使用しています。それはTOMCATでうまく走っていた。私はEclipseLink 2.6.xがJava 7を必要としているのを見ているので問題になるかもしれませんが、そのようなトレースはありません。Java 1.7が必要なミニバージョンはJDK1.8でも動作します。 –

答えて

0

は(たぶん)少し奇妙な方法で問題を解決する最終的にできたのpersistence.xmlに対する一致が見つかりません

ステップ1:名前の下にモジュールディレクトリを作成しました(com.abc.persistence:main) ステップ2:eclの関連するすべてのjarをコピーしましたipselinkとjipijapaを同じモジュールに入れて参照しました。

ステップ2.システムのプロパティ "eclipselink.archive.factory"

それはきれいな作品を削除しました。

私が分析したのは、システムプロパティの1つが置かれ、ターゲットサーバーのような他のものがプロパティマップに追加されなかった場合です(私はコードのどこかでチェックしました)。一度削除してしまえば、上記のディレクトリを作成して(上記のステップ1)、動作させると少し驚いてしまうので、他のすべてのものも追加されて動作すると思います。

+1

正確に何かを意味していたと参照してください?どのように正確にそれをやったのですか?あなたの作業構成の詳細であなたの答えを編集できますか?前もって感謝します。 –

+1

こんにちは@SayoOladeji、遅く返信して申し訳ありません。 質問の最初のところで、 "参照してください"というのは、module.xmlから参照したことです。 standalone.xmlで、システムプロパティ "eclipselink.archive.factory"を削除しました。 –

関連する問題