Explanation build.xml
Hello everybody,
Tomorrow we have an exam about J2EE with ant.
our teacher have give us a file, called 'build.xml' but he doesn't mentioned what it do...
I really hope someone could explain a bit more the following code because we have to know it for our exam....
Build.xml
<project name="moiracms" basedir="." default="main">
<property file="build.properties" />
<property name="src.dir"value="src"/>
<property name="build.dir"value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir"value="${build.dir}/package"/>
<property name="lib.dir" value="lib" />
<property name="descr.dir"value="${build.dir}/descriptor" />
<property name="html.dir" value="html" />
<property name="tld.dir" value="tld" />
<path id="classpath">
<fileset dir="${lib.dir}" includes="*jar" />
<fileset dir="${xdoclet.lib.dir}" includes="*jar" />
</path>
<target name="clean">
<delete dir="${build.dir}"/>
<delete dir="${src.dir}/interfaces" />
</target>
<target name="init" depends="clean">
<taskdef name="webdoclet" classname="xdoclet.modules.web.WebDocletTask" classpathref="classpath"/>
<taskdef name="hibernatedoclet" classname="xdoclet.modules.hibernate.HibernateDocletTask" classpathref="classpath" />
<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" classpathref="classpath" />
</target>
<target name="xdoclet" depends="init">
<webdoclet destdir="${descr.dir}">
<deploymentdescriptor servletspec="2.4"/>
<fileset dir="${src.dir}" includes="**/*Servlet.java" />
</webdoclet>
<hibernatedoclet destdir="${descr.dir}">
<fileset dir="${src.dir}" includes="**/*.java" />
<hibernate version="3.0" />
<hibernatecfg version="3.0"
jdbcUrl="jdbc:mysql://${mysql.server}:${mysql.port}/${mysql.dbase}"
dialect="org.hibernate.dialect.MySQLDialect"
driver="com.mysql.jdbc.Driver"
userName="${mysql.username}"
password="${mysql.password}" />
</hibernatedoclet>
<ejbdoclet destdir="${src.dir}">
<fileset dir="${src.dir}" includes="**/*Bean.java" />
<packagesubstitution packages="beans" substitutewith="interfaces" usefirst="true" />
<localhomeinterface />
<localinterface />
<homeinterface />
<remoteinterface />
<deploymentdescriptor destdir="${descr.dir}" />
</ejbdoclet>
</target>
<target name="compile" depends="xdoclet">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/>
</target>
<target name="war" depends="compile">
<mkdir dir="${jar.dir}" />
<war destfile="${jar.dir}/${ant.project.name}.war" webxml="${descr.dir}/web.xml">
<fileset dir="${html.dir}" includes="**/*" />
<webinf dir="${tld.dir}" includes="c.tld" />
<lib dir="${tld.dir}" includes="*.jar" />
</war>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}" />
<jar destfile="${jar.dir}/${ant.project.name}.jar">
<fileset dir="${classes.dir}" includes="**/*" />
<fileset dir="${descr.dir}" includes="classes/*.hbm.xml" />
<fileset dir="${descr.dir}" includes="hibernate.cfg.xml" />
<metainf dir="${descr.dir}" includes="ejb-jar.xml" />
</jar>
</target>
<target name="ear" depends="war,jar">
<ear appxml="application.xml" destfile="${jar.dir}/${ant.project.name}.ear">
<fileset dir="${jar.dir}">
</fileset>
</ear>
</target>
<target name="deploy" depends="ear">
<copy file="${jar.dir}/${ant.project.name}.ear" todir="${jboss.deploy.dir}" />
</target>
<target name="main" depends="deploy" />
</project>
Message was edited because: This one is a correct code from a working example.

