Sun GlassFish Enterprise Server |
Java BluePrints Build system is a collection of build scripts based on
Ant. It provides for building, packaging, deploying and running
different types of Java EE modules, including .ejb
,
.war
, .ear
, .rar
, and .par
files.
If you have not already done so, follow the instructions in the Required Software section of the Java EE 6 Tutorial to download and install the following:
Read the remainder of the Using the Tutorial Examples chapter of the Tutorial for more information on setting up your environment to run the examples.
Some commonly used Ant targets are as follows:
check verifies the build setup that is common for all modules clean removes the generated directories, such as build and dist compile compiles the project create-javamail-resource creates a JavaMail resource create-jdbc-connection-pool creates a JDBC connection pool create-jdbc-resource creates a JDBC resource create-jms-connection creates a JMS connection factory create-jms-resource creates a JMS resource create-persistence-resource creates a persistence resource default compiles and packages the archive delete-javamail-resource deletes a JavaMail resource delete-jdbc-connection-pool deletes a JDBC connection pool delete-jdbc-resource deletes a JDBC resource delete-jms-resource deletes a JMS resource delete-persistence-resource deletes a persistence resource deploy deploys the application keydel_common deletes a file-realm user keygen_common creates a file-realm user launch launches the application in a browser listJmsDestinations lists JMS destinations package packages the archive package-persistence-unit packages the persistence archive reconfig reconfigures the application server run builds, packages and runs the application runjavaclient run stand-alone Java client start-db starts the database server stop-db stops the database server undeploy undeploys the application
The following targets provide sample application-specific behavior.
-post-compile -pre-clean -pre-compile -pre-deploy -pre-setup
Using the above targets it is possible to build and run the following types of Java EE modules and applications:
.ear
.jar
.war
.rar
.par
.jar
<?xml version="1.0" encoding="UTF-8"?>
<project name="duke-stateful-ear" default="ear" basedir=".">
<property name="is.ear.module" value="true"/>
<path id="ear-components">
<filelist dir="./duke-stateful-ejb" files="build.xml"/>
<filelist dir="./duke-stateful-appclient" files="build.xml"/>
<filelist dir="./test" files="build.xml"/>
</path>
<import file="../../bp-project/main.xml"/>
<target name="all" depends="ear,deploy,client-stubs">
<antcall target="run"/>
</target>
<target name="run">
<subant target="run-app-client">
<fileset dir="duke-stateful-appclient" includes="build.xml"/>
</subant>
</target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project name="hello-stateless-ejb" default="default" basedir=".">
<property name="is.ejb-jar.module" value="true"/>
<import file="../../bp-project/main.xml"/>
<target name="all" depends="default,deploy">
<subant target="default">
<fileset dir="test" includes="build.xml"/>
</subant>
<antcall target="run"/>
</target>
<target name="run">
<subant target="runtest">
<fileset dir="test" includes="build.xml"/>
</subant>
</target>
</project>
<?xml version="1.0"
encoding="UTF-8"
?>
<project name="bp-web-project" default="default"
basedir=".">
<property name="is.war.module"
value="true"/>
<import
file="bp-project/main.xml"/>
</project>
<?xml version="1.0"
encoding="UTF-8"
?>
<project name="hello-pu" default="default" basedir=".">
<description>Builds,
tests, and runs the project hello-pu.</description>
<property name="is.jar.module"
value="true"/>
<property
name="is.persistence-unit.module" value="true"/>
<import
file="../../setup/main.xml"/>
</project>
<?xml version="1.0"
encoding="UTF-8"?>
<project name="hello-servlet" default="default"
basedir=".">
<property name="is.war.module"
value="true"/>
<!-- This project is dependent on
the hello-pu project so it is declaring a dependency -->
<property name="hello-pu.home"
value="${home.dir}/../hello-pu"/>
<!-- extra.classpath property adds to the
classpath used for compilation -->
<property name="extra.classpath"
value="${hello-pu.home}/dist/hello-pu.jar"/>
<!-- include the persistence unit in the
Web-app -->
<target name="-post-compile"
depends="init">
<copy
file="${hello-pu.home}/dist/hello-pu.jar"
todir="${build.dir}/web/WEB-INF/lib"/>
</target>
<!-- Note that
this project is sharing the build system with other projects -->
<import
file="../../bp-project/main.xml"/>
</project>
<?xml version="1.0"?>
<project name="bp-slider-navigator" default="default"
basedir=".">
<property name="is.war.module" value="true"/>
<import
file="../../../bp-project/main.xml"/>
<property name="project.ui"
value="../../../components/ui"/>
<property name="reference.ui.jar"
value="${project.ui}/dist/ui.jar"/>
<target name="-pre-compile" depends="init">
<copy
file="${reference.ui.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
</target>
</project>
Copyright © 2010 Sun Microsystems, Inc. All rights reserved.