私のアプリ (spring + jpa) を @Configuration ベースの spring のアノテーションに変換し、spring app context xml と persistence.xml を取り除こうとしています。ビルド時に使用する openjpa-maven-plugin 2.2.2 以外のすべての機能は、persistence.xml がエラーをスローしないと機能しません。
[エラー] プロジェクト myapp で目標 org.apache.openjpa:openjpa-maven-plugin:2.2.2:enhance (enhancer) を実行できませんでした: 目標 org.apache.openjpa:openjpa-maven-plugin:2.2.2 の実行エンハンサー:enhance に失敗しました: MetaDataFactory を構成できませんでした (conf.newMetaDataFactoryInstance() が null を返しました)。これは、構成プロパティーが見つからなかったことを意味している可能性があります。META-INF/persistence.xml ファイルがあること、それがクラスパスで使用可能であること、または構成に使用しているプロパティ ファイルが使用可能であることを確認してください。Ant を使用している場合は、タスクのネストされた要素の または 属性を参照してください。これは、OpenJPA ディストリビューション jar が破損している場合、またはセキュリティ ポリシーが厳しすぎる場合にも発生する可能性があります。
プラグインの構成は次のとおりです。
<configuration>
<includes>**/business/model/*.class</includes>
<addDefaultConstructor>true</addDefaultConstructor>
<enforcePropertyRestrictions>true</enforcePropertyRestrictions>
</configuration>
ただし、persistence.xmlが存在するが、空の永続ユニットしか含まれていない場合は機能します(3つ持っています):
<persistence-unit name="pu1" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
<persistence-unit name="pu2" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
<persistence-unit name="pu3" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
したがって、openjpa-maven-plugin がこれから取得する可能性のある唯一の情報は、実際に必要な場合でも永続ユニット名です。
persistence.xmlなしでビルド時のopenjpaクラス拡張を実装する方法はありますか?