DataNucleus を JPA プロバイダーとしてアプリケーションを作成することで、JavaEE を学んでいます。私はテストに Eclipse IDE と Apache Tomcat サーバーを使用しているため、ランタイム拡張機能をセットアップして、各テスト展開でクラスのバイト コンパイルを回避したいと考えています。
ドキュメントに従って、これをpersistence.xmlファイルに追加しました:
<property name="datanucleus.jpa.addClassTransformer" value="true"/>
ただし、とにかく私のクラスは強化されません。私が得るエラーメッセージは次のとおりです。
org.datanucleus.exceptions.NucleusUserException: Found Meta-Data for
class pbf.model.Message but this class is either not enhanced or you
have multiple copies of jdo-api.jar in your CLASSPATH!! Make sure all
persistable classes are enhanced before running DataNucleus and/or the
CLASSPATH is correct.
ドキュメントは、Java EE がコマンドラインでも javaagent を指定する必要があるかどうかについて、ややあいまいです。もしそうなら、EclipseのTomcatサーバーでそれを行うにはどうすればよいですか? サーバーの起動時に、カスタム コマンドラインや Java 引数のオプションが表示されません。
すべての依存関係とともに、maven リポジトリからダウンロードした datanucleus-accessplatform-jpa-rdbms v.3.3.0-release を使用します。