Buy anything from HongKong - Dealextreme

You can buy any kind of electronic gadgets from DealExtreme with free shipping option.
Please visit DealExtreme for very low prices.
Here is the link to the site : www.dealextreme.com

06 February 2007

How to: using ant to deploy to OC4j

First the Ant build.xml file itself:


<?xml version="1.0" encoding="windows-1252" ?>
<
project default="all" xmlns:oracle="antlib:oracle"
xmlns="antlib:org.apache.tools.ant"
xmlns:ivy="antlib:fr.jayasoft.ivy.ant">
<
property file="build.properties"/>
<!--
============================================================================
== properties
============================================================================
-->
<!-- directories -->
<property name="src.dir" value="src"/>
<
property name="classes.dir" value="classes"/>
<
property name="log.dir" value="log"/>
<
property name="web.dir" value="public_html"/>
<
property name="deploy.dir" value="deploy"/>
<
property name="doc.dir" value="doc"/>
<!-- deliverables -->
<property name="webjar.file" value="${app.name}-web.jar"/>
<
property name="war.file" value="${app.name}-web.war"/>
<
property name="ejbjar.file" value="${app.name}-ejb.jar"/>
<
property name="ear.file" value="${app.name}.ear"/>
<!--
============================================================================
== class path
============================================================================
-->
<path id="class.path">
<
fileset dir="lib">
<
include name="**/*.jar"/>
</
fileset>
<
pathelement path="${classes.dir}"/>
</
path>
<!--
============================================================================
== init
============================================================================
-->
<target name="init">
<
tstamp/>
<
mkdir dir="${log.dir}"/>
<
mkdir dir="${classes.dir}"/>
</
target>
<!--
============================================================================
== compile
============================================================================
-->
<target name="compile" depends="init">
<
javac srcdir="${src.dir}" destdir="${classes.dir}"
classpathref="class.path"/>
<
copy todir="${classes.dir}">
<
fileset dir="${src.dir}">
<
include name="**/*.xml"/>
<
include name="**/*.properties"/>
</
fileset>
</
copy>
</
target>
<!--
============================================================================
== war
============================================================================
-->
<target name="war" depends="compile">
<
war destfile="${deploy.dir}/${war.file}" webxml="${web.dir}/WEB-INF/web.xml">
<
fileset dir="${classes.dir}">
<
include name="**/*.class"/>
<
exclude name="test/**/*.class"/>
</
fileset>
<
fileset dir="${web.dir}">
<
include name="**/*.jspx"/>
<
include name="**/*.html"/>
<
include name="WEB-INF/*.xml"/>
</
fileset>
<
lib dir="lib">
<
exclude name="ivy-1.1.jar"/>
<
exclude name="ejb.jar"/>
<
exclude name="ejb30.jar"/>
<
exclude name="junit.jar"/>
<
exclude name="oc4jclient.jar"/>
</
lib>
</
war>
</
target>
<!--
============================================================================
== ejb jar
============================================================================
-->
<target name="ejb" depends="compile">
<
jar destfile="${deploy.dir}/${ejbjar.file}">
<
fileset dir="${classes.dir}">
<
include name="**/model/**/*.class"/>
<
exclude name="test/**/*.class"/>
</
fileset>
</
jar>
</
target>
<!--
============================================================================
== Ear
============================================================================
-->
<target name="ear" depends="war,ejb">
<
ear destfile="${deploy.dir}/${ear.file}"
appxml="${classes.dir}/META-INF/application.xml">
<
fileset dir="${deploy.dir}/" includes="${war.file}"/>
<
fileset dir="${deploy.dir}/" includes="${ejbjar.file}"/>
</
ear>
</
target>
<!--
============================================================================
== deploy
============================================================================
-->
<target name="deploy" depends="init">
<
oracle:deploy moduletype="ear" host="${oc4j.host}"
port="${oc4j.admin.port}" userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
file="${deploy.dir}/${ear.file}"
deploymentname="${app.name}"
logfile="${log.dir}/deploy-ear.log"/>
<
oracle:bindWebApp host="${oc4j.host}" port="${oc4j.admin.port}"
userid="${oc4j.admin.user}"
password="${oc4j.admin.password}"
deploymentname="${app.name}" webmodule="${web.name}"
websitename="${oc4j.binding.module}"
contextroot="/${app.name}"
/>
</
target>
<!--
============================================================================
== clean
============================================================================
-->
<target name="clean">
<
delete quiet="true">
<
fileset dir="lib" includes="**/*.jar" excludes="**/ivy-1.1.jar"/>
<
fileset dir="${classes.dir}" includes="**/*"/>
<
fileset dir="deploy" includes="*"/>
</
delete>
</
target>
<!--
============================================================================
== deploy
============================================================================
-->
<target name="all" depends="clean,ear,deploy"/>
</
project>

Next the build.properties file:


app.name=test1
web.name=test1-web

oc4j.binding.module=default-web-site
oc4j.admin.port=23791
oc4j.admin.user=oc4jadmin
oc4j.http.port=8888
oc4j.admin.password=admin
oc4j.host=localhost

java.home=c:\\Program Files\\Java\\jdk1.5.0_01
oracle.home=c:\\programs\\oracle\\oc4j1013-dp4

And finally a shell script to start ant.


set JAVA_HOME=c:\Program Files\Java\jdk1.5.0_01
set ANT_HOME=c:\programs\oracle\oc4j1013-dp4\ant
set ORACLE_HOME=c:\programs\oracle\oc4j1013-dp4

set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%PATH%

%ANT_HOME%\bin\ant %1 %2 %3

No comments: