Tâche ANT WsJpaDBGenTask
La tâche ANT WsJpaDBGenTask fournit une alternative à la commande wsdbgen.
The WsJpaDBGenTask ANT task utility supports utilizing the pureQuery feature in Java™ Persistence API (JPA) 2.0 applications that use WSJPA and do not use DB2 databases. Au lieu d'utiliser wsdbgen à partir de la ligne de commande, vous pouvez vous servir du code exemple dans votre fichier XML de génération (build) ANT pour utiliser WsJpaDBGenTask dans votre processus de construction.
Les fichiers Java archive (JAR) s'exécutant sous PDQ, pdq.jar et pdqmgmt.jar, doivent être indiqués à l'aide de l'option ANT -lib.
Avertissement : Pour plus d'informations sur la conformité du niveau JAR DB2
pour pureQuery, consultez le site Web de support
IBM® : System requirements for
IBM Optim pureQuery Run time for
Linux, UNIX, and
Windows.
Exemple
L'exemple ci-après est exécuté dans l'environnement
Windows avec la commande ANT :
C:\jpa\ant jar -noclasspath -lib c:/AppServer/dev/JavaEE/j2ee.jar
-lib ${app_server_root}/runtimes/com.ibm.ws.jpa.-2.0 thinclient_9.0.jar
-lib c:/sqllib/java/db2jcc.jar
-lib c:/sqllib/java/db2jcc_license_cu.jar
-lib c:/sqllib/java/pdq.jar
-lib c:/sqllib/java/pdqmgmt.jar
Lorsque la commande ANT est appelée, les fichiers JAR de pureQuery, JPA
et le pilote JDBC doivent se trouver la liste de la bibliothèque.<?xml version="1.0"?>
<project name="sample" default="jar">
<taskdef name="enhancer" classname="org.apache.openjpa.ant.PCEnhancerTask" />
<taskdef name="wsdbgen" classname="com.ibm.websphere.persistence.pdq.ant.WsJpaDB2GenTask" />
<target name="clean" description="remove intermediate files">
<delete dir="classes"/>
<delete dir="enhanced" />
<delete>
<fileset dir="." includes="META-INF/*.pdqxml" />
<fileset dir="." includes="sample.jar" />
</delete>
</target>
<target name="compile"
description="compile the Java source code to class files">
<mkdir dir="classes"/>
<javac srcdir="." destdir="classes">
<classpath>
<pathelement location="c:/AppServer/dev/JavaEE/j2ee.jar>"
<pathelement location="c:/AppServer/runtimes/com.ibm.ws.jpa-2.0.thinclient_9.0.jar" />
</classpath>
</javac>
</target>
<target name="enhance" depends="compile" >
<mkdir dir="enhanced" />
<enhancer directory="./enhanced" >
<config propertiesFile="META-INF/persistence.xml" />
<classpath>
<pathelement location="." />
<pathelement location="classes" />
</classpath>
</enhancer>
</target>
<target name="wsdbgen" depends="enhance" >
<wsdb2gen pu="MyAntTest" url="jdbc:db2://localhost:50000/demodb" user="user1" pw="secret" >
<classpath>
<pathelement location="."/>
<pathelement location="enhanced" />
</classpath>
</wsdb2gen>
</target>
<target name="jar" depends="wsdbgen"
description="create a Jar file for the application">
<jar destfile="sample.jar">
<fileset dir="classes" includes="**/*.class"/>
<fileset dir="." includes="META-INF/*.xml" />
</jar>
</target>
</project>