Netbeans 7.1.1 と Glassfish 3.1.2 サーバーを使用しています。JPA プロバイダーとして、Netbeans に同梱されている eclipse-link 2.3.0 を使用することにしました。私は遅延フェッチを使用したいと考えており、私のプロジェクトは約 45 の JPA エンティティ クラスで構成されており、それらの間に多くの関係があるため、static weavingを使用することにしました。さらに、@Entity クラスは別の Class Lib プロジェクトにありますが、persistence.xml は EJB プロジェクトにあります。
私はすでにここの指示に従いました: http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving
Ant-task を build-impl.xml ファイル (以下) に入れました。Netbeans を使用する場合は正しいですか? build-impl.xml のスニペットは次のとおりです。
<target name="-post-jar" description="New task definition for EclipseLink static weaving">
<taskdef name="weave" classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask"/>
</target>
<target name="weaving" description="perform weaving" depends="-post-jar">
<weave source="${dist.jar}\MyProject.jar"
target="${dist.jar}\MyProject_Weaved.jar"
persistenceinfo="${dist.jar}..\..\MyProjectEE\MyProject-ejb\build\classes\META-INF\persistence.xml"
loglevel="FINER">
<classpath>
<pathelement path="${dist.jar}\lib\eclipselink-2.3.0.jar"/>
<pathelement path="${dist.jar}\lib\javaee-api-6.0.jar"/>
<pathelement path="${dist.jar}\lib\jasypt-1.9.0.jar"/>
<pathelement path="${dist.jar}\lib\javax.persistence-2.0.jar"/>
<pathelement path="${dist.jar}\lib\org.eclipse.persistence.jpa.jpql_1.0.0.jar"/>
<pathelement path="${dist.jar}\lib\joda-time-2.1.jar"/>
<pathelement path="${dist.jar}\lib\jms.jar"/>
</classpath>
</weave>
</target>
path 要素パス内のすべての jar ファイルも、ライブラリとして Netbeans IDE に含まれています。「クリーン & ビルド」を押すと、次のエラーが表示されるようになりました。
D:\workspace\MyProject\nbproject\build-impl.xml:703: taskdef class org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask cannot be found
using the classloader AntClassLoader[]
ここで何が間違っていますか?