Jump to: navigation, search

EclipseLink/Examples/DBWS/DBWSBuilder using ANT and javac

DBWSBuilder using ANT

This example illustrates how DBWSBuilder can be invoked from ANT generating all of the required aretfacts to the file system and then compiling and packaging with additional ANT targets.

File layout for this example:

   <example-root>
   |
   |  build.properties
   |  build.xml
   |  dbws-builder.xml
   | 
   \---jlib
   |
   |   eclipselink.jar
   |   eclipselink-dbwsutils.jar
   |   javax.servlet.jar
   |   javax.wsdl.jar
   |   ojdbc6.jar
   |   org.eclipse.persistence.oracleddlparser.jar
   |
   \---stage
   |
   |   (Generated files will reside here, most importantly simpletable.war)
   |

To run the DBWS builder in this example, simply type ant in the example base directory. The builder will output the following:

C:\temp\antexample>ant
Buildfile: build.xml
 
build:
     [java] Building mappings for SIMPLETABLE.ID
     [java] Building mappings for SIMPLETABLE.NAME
     [java] Building mappings for SIMPLETABLE.SINCE
     [java] Building eclipselink-dbws-sessions.xml
     [java] building eclipselink-dbws.wsdl
     [java] writing web.xml
     [java] generating DBWSProvider.java
     [java] generating DBWSProvider.class

dbws-builder.xml

<?xml version="1.0" encoding="UTF-8"?>
<dbws-builder xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <properties>
    <property name="projectName">simpletable</property>
    ... database properties
  </properties>
 
  <table
    schemaPattern="SCOTT"
    tableNamePattern="SIMPLETABLE"
  />
</dbws-builder>

build.xml

<?xml version="1.0"?>
<project name="simpletable" default="build">
  <property file="${basedir}/build.properties"/>
 
  <path id="build.path">
    <fileset
      dir="${jlib.dir}"
      includes="eclipselink.jar 
                eclipselink-dbwsutils.jar 
                org.eclipse.persistence.oracleddlparser.jar 
                javax.wsdl.jar 
                javax.servlet.jar 
                ojdbc6.jar"
      >
    </fileset>
  </path>
 
  <target name="build">
    <java
      classname="org.eclipse.persistence.tools.dbws.DBWSBuilder"
      fork="true"
      classpathRef="build.path"
      >
      <arg line="-builderFile ${dbws.builder.file} -stageDir ${stage.dir} -packageAs ${server.platform} ${ant.project.name}.war"/>
    </java>
  </target>
</project>

build.properties

custom = true
build.sysclasspath=ignore
 
stage.dir=${basedir}/stage
jlib.dir=${basedir}/jlib
server.platform=wls
dbws.builder.file=dbws-builder.xml