ANT-Task "WsJpaDBGenTask"
Die ANT-Task WsJpaDBGenTask ist eine Alternative zum Befehl wsdbgen.
Das Ant-Aufgabendienstprogramm WsJpaDBGenTask unterstützt die Verwendung des Features "pureQuery" in Anwendungen der Java™ Persistence API (JPA) Version 2.0, die WSJPA aber keine DB2-Datenbanken verwenden. Anstatt den Befehl wsdbgen über die Befehlszeile zu verwenden, können Sie den Beispielcode in die Ant-Build-XML-Datei einfügen, um WsJpaDBGenTask in Ihrem Build-Prozess zu verwenden.
Die JAR-Dateien für die PDQ-Laufzeit, pdq.jar und pdqmgmt.jar, müssen mit der ANT-Option "-lib" angegeben werden.
Achtung: Weitere Informationen zur Kompatibilität der
DB2-JAR-Version für pureQuery finden Sie auf der
IBM® Unterstützungswebsite im Artikel "System requirements for IBM Optim pureQuery Runtime
for Linux, UNIX, and Windows".
Beispiel
Das folgende Beispiel wird in der
Windows-Umgebung mit dem ANT-Befehl ausgeführt:
C:\jpa\ant jar -noclasspath -lib c:/AppServer/dev/JavaEE/j2ee.jar
-lib ${Stammverzeichnis_des_Anwendungsservers}/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
Wenn Sie den ANT-Befehl aufrufen, müssen die JAR-Dateien für pureQuery, JPA
und den JDBC-Treiber in der Bibliotheksliste enthalten sein.<?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>