Estoy usando Netbeans 7.1.1 y un servidor Glassfish 3.1.2. Como proveedor de JPA, decidí usar eclipse-link 2.3.0 que se envía con Netbeans. Como quiero utilizar la recuperación diferida y mi proyecto consiste en aproximadamente 45 clases de entidad JPA que tienen muchas relaciones entre ellas, decidí usar tejido estático. Además, las clases @Entity se encuentran en un proyecto separado de clase Lib, mientras que persistence.xml reside en el proyecto EJB.¿Cómo aplicar la Tarea ant estática tejida con Eclipse-Link JPA en Netbeans?
ya he seguido las instrucciones aquí: http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving
puse la hormiga en tareas en el archivo de acumulación impl.xml (abajo). ¿Es correcto cuando utilizo Netbeans? Aquí está el fragmento de acumulación 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>
Todos jar-archivos de las rutas pathelement También se incluyen como bibliotecas en el IDE Netbeans. Al golpear "Clean & Construir", ahora sale el siguiente error:
D:\workspace\MyProject\nbproject\build-impl.xml:703: taskdef class org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask cannot be found
using the classloader AntClassLoader[]
Qué hago mal?
muchas gracias peter! también es posible definir directamente el classpath dentro de la etiqueta. Además, se deben definir objetivos adicionales en el build.xml en lugar de build-impl.xml. Para ejecutar las tomas, asigne un atajo haciendo clic con el botón derecho en la tarea definida en la vista de archivo dentro del IDE de Netbeans y seleccione "crear acceso directo". –
salocinx