永続性のためにJPAを使用するEclipseアプリケーションを作成しようとしています。
私のプロバイダとしてEclipseLink(具体的にはorg.eclipse.persistence.jpa.PersistenceProvider
)とDerbyをデータベースとして使用しようとしています。
現在、私はすべてのデータベース通信を扱い、モデルエンティティを定義するEclipse JPAプロジェクトを持っています。この製品はユニットテストされており、すべて動作しています。EclipseプラグインからJPAプロジェクトを参照すると、 "PersistenceException:EntityManagerの永続性プロバイダがありません"
私のEclipseアプリケーションは、このプロジェクトを使用して、使用するモデルエンティティを取得するという考えがあります。
問題は、EntityManager
を作成しようとすると、「No Persistence provider
」例外が発生することです。
私はJPAプロジェクトを直接参照するか、最初にjarファイルにエクスポートしてみました。どちらもうまくいかなかった。
私が推測できる限り、これは自分のpersistence.xmlが表示されないか、永続性プロバイダがクラスパスにないことを意味します。
永続性ファイルは、私のjarファイルのルートのMETA-INF
ディレクトリにありますので、うまくいけばそれを選択してください。私はまた、アプリケーションのプラグインのMANIFEST.MF
に以下を追加しました:
javax.persistence;bundle-version="1.99.0",
org.eclipse.persistence.antlr;bundle-version="1.1.2",
org.eclipse.persistence.asm;bundle-version="1.1.2",
org.eclipse.persistence.core;bundle-version="1.1.2",
org.eclipse.persistence.jpa;bundle-version="1.1.2"
をこれがうまくいけば、必要なクラスを利用できるようになります。
私は行方不明を誰も見ることができますか?どのような2つの問題があるかを知る方法はありますか?これらの問題の1つですか?
ありがとうございました。
私は上記の推奨されたソリューションをそれぞれ試して、 "エンティティマネージャの永続性プロバイダなし"エラーを引き続き取得します。試してみる可能性のある他の原因と修正がありますか? –