我的Ant文件- -
经过几天的努力,我终于写成我要用的Ant的build.xml文件,有很多的冗余,不过没关系,终于可以用了,需要说明的是,build.properties文件一直没有引用上,都是在build.xml文件里写的,这是在工程/ejbmodule下写的,呵呵
如下:
<?xml version="1.0" encoding="GBK"?>
<!--
Build file for 'componentName'
Creation date : $Date: yyyy-m-d $
Updated date : $Date: yyyy-m-d $
Author: developerName
Copyright 2002 CompanyName, Inc. All rights reserved.
-->
<project name="Account" default="core" basedir="../..">
<!-- ================================================================== -->
<!-- Initialization of all property settings -->
<!-- ================================================================== -->
<target name="init">
<property file="./build.properties"/>
<property name="dest_drive" value="D:\"/>
<property name="jboss.lib" value="${jboss.home}/lib"/>
<property name="jboss.client" value="${jboss.home}/client"/>
<property name="jboss.deploy" value="${dest_drive}/jboss-3.2.5/server/default/deploy"/>
<property name="name" value="account"/>
<property name="ejbname" value="${name}-ejb.jar"/>
<property name="src.dir" value="${basedir}/src"/>
<property name="bin.dir" value="${basedir}/bin"/>
<property name="etc.dir" value="${basedir}/${name}/META-INF"/>
<property name="lib.dir" value="lib"/>
<property name="build.dir" value="build"/>
<property name="jboss.dir" value="${jboss.home}"/>
<property name="src.main.dir" value="${src.dir}/book"/>
<property name="src.ejb.dir" value="${src.main.dir}/ejb"/>
<property name="src.javabean.dir" value="${src.main.dir}/javabean"/>
<property name="src.servlet.dir" value="${src.main.dir}/servlet"/>
<property name="src.web.dir" value="${src.main.dir}/web"/>
<property name="javadoc.dir" value="${lib.dir}/docs/api"/>
<property name="ejb-classes.dest" value="${lib.dir}/ejb"/>
<property name="javabean-classes.dest" value="${lib.dir}/javabean"/>
<property name="web-classes.dest" value="${lib.dir}/web/WEB-INF/classes"/>
<property name="web-lib.dest" value="${lib.dir}/web/WEB-INF/lib"/>
<property name="pkg-dist.name" value="${name}-pkg"/>
<property name="deploy.ormi" value=""/>
<property name="deploy.username" value=""/>
<property name="deploy.password" value=""/>
<property name="ProjectName.components.home" value="../../components"/>
<!-- Define componentName Component -->
<property name="ProjectName.componentName.name" value="componentName"/>
<property name="ProjectName.componentName.home" value="${ProjectName.components.home}/componentName"/>
<property name="ProjectName.componentName.classbindir" value="${ProjectName.componentName.home}/lib/ejb"/>
<property name="ProjectName.componentName.ejbjar" value="${ProjectName.componentName.home}/build/componentName-ejb.jar"/>
<property name="ProjectName.componentName.ejbjar.client" value="${ProjectName.componentName.home}/build/componentName-ejb-client.jar"/>
<!-- Define referencesComponentName Component -->
<property name="ProjectName.referencesComponentName.name" value="referencesComponentName"/>
<property name="ProjectName.referencesComponentName.home" value="${ProjectName.components.home}/referencesComponentName"/>
<property name="ProjectName.referencesComponentName.classbindir" value="${ProjectName.referencesComponentName.home}/lib/ejb"/>
<property name="ProjectName.referencesComponentName.ejbjar" value="${ProjectName.referencesComponentName.home}/build/referencesComponentName-ejb.jar"/>
<property name="ProjectName.referencesComponentName.ejbjar.client" value="${ProjectName.referencesComponentName.home}/build/referencesComponentName-ejb-client.jar"/>
<property name="build.classpath" value="${jboss.client}/jboss-j2ee.jar:${jboss.client}/jnp-client.jar:${jboss.client}/jnp-client.jar:${jboss.client}/jbossmq-client.jar:${jboss.client}/jbosssx-client.jar:${jboss.client}/concurrent.jar:${jboss.client}/jaas.jar:${jboss.lib}/jboss-jmx.jar:${jboss.home}/server/${jboss.configuration}/lib/jbosssx.jar:${jboss.home}/server/${jboss.configuration}/lib/mail.jar:${servlet-lib.path}:${ejb-classes.dest}:${web-classes.dest}:${ProjectName.componentName.classbindir}:${ProjectName.componentName.ejbjar.client}:${ProjectName.referencesComponentName.classbindir}:${ProjectName.referencesComponentName.ejbjar.client}"/>
</target>
<!-- ================================================================== -->
<!-- Define the classpath for compile the component -->
<!-- ================================================================== -->
<path id="base.path">
<pathelement location="${jboss.client}/jboss-j2ee.jar"/>
<pathelement location="${jboss.client}/jnp-client.jar"/>
<pathelement location="${jboss.client}/jbossmq-client.jar"/>
<pathelement location="${jboss.client}/jbosssx-client.jar"/>
<pathelement location="${jboss.client}/concurrent.jar"/>
<pathelement location="${jboss.client}/jaas.jar"/>
<pathelement location="${jboss.lib}/jboss-jmx.jar"/>
<pathelement location="${jboss.home}/server/${jboss.configuration}/lib/jbosssx.jar"/>
<pathelement location="${jboss.home}/server/${jboss.configuration}/lib/mail.jar"/>
</path>
<path id="project.path">
<path refid="base.path"/>
<pathelement location="${ProjectName.componentName.classbindir}"/>
<pathelement location="${ProjectName.componentName.ejbjar.client}"/>
<pathelement location="${ProjectName.referencesComponentName.classbindir}"/>
<pathelement location="${ProjectName.referencesComponentName.ejbjar.client}"/>
</path>
<!-- ================================================================== -->
<!-- Removes all created files and directories -->
<!-- ================================================================== -->
<target name="clean" depends="init">
<delete dir="${lib.dir}"/>
<delete file="${build.dir}/${ejbname}"/>
<delete file="${jboss.deploy}/${ejbname}"/>
</target>
<!-- ================================================================== -->
<!-- Makes sure the needed directory structure is in place -->
<!-- ================================================================== -->
<target name="prepare" depends="init,clean">
<mkdir dir="${lib.dir}"/>
<mkdir dir="${lib.dir}/ejb"/>
<mkdir dir="${lib.dir}/ejb/META-INF"/>
<mkdir dir="${lib.dir}/ejb/${name}"/>
<mkdir dir="${lib.dir}/j2ee"/>
<mkdir dir="${lib.dir}/META-INF"/>
<mkdir dir="${build.dir}"/>
</target>
<!-- ================================================================== -->
<!-- Compilation of the EJB part of the application -->
<!-- ================================================================== -->
<target name="ejb-classes" depends="prepare"/>
<target name="ejb-meta-inf" depends="prepare">
<copy file="${etc.dir}/ejb-jar.xml" tofile="${lib.dir}/ejb/META-INF/ejb-jar.xml"/>
<copy file="${etc.dir}/jaws.xml" tofile="${lib.dir}/ejb/META-INF/jaws.xml"/>
<copy file="${etc.dir}/jboss.xml" tofile="${lib.dir}/ejb/META-INF/jboss.xml"/>
<copy file="${etc.dir}/jbosscmp-jdbc.xml" tofile="${lib.dir}/ejb/META-INF/jbosscmp-jdbc.xml"/>
<copy todir="${lib.dir}/ejb">
<fileset dir="${bin.dir}/${name}">
<include name="*.class"/>
</fileset>
</copy>
</target>
<target name="ejb-jar" depends="ejb-classes,ejb-meta-inf">
<jar jarfile="${build.dir}/${name}-ejb.jar" basedir="${lib.dir}/ejb"/>
</target>
<!-- ================================================================== -->
<!-- Compilation of the web part of the application -->
<!-- ================================================================== -->
<!--<target name="web-classes" depends="prepare,ejb-jar">
<javac srcdir="${src.servlet.dir}"
destdir="${lib.dir}/web/WEB-INF/classes"
includes="com/**"
classpath="${build.classpath}" />
</target> -->
<target name="web-web-inf" depends="prepare">
<copy file="${etc.dir}/jboss-web.xml" tofile="${lib.dir}/web/WEB-INF/jboss-web.xml"/>
<copy file="${etc.dir}/web.xml" tofile="${lib.dir}/web/WEB-INF/web.xml"/>
</target>
<!-- <target name="war" depends="web-classes,web-web-inf">
<copy todir="${lib.dir}/web" >
<fileset dir="${src.web.dir}"/>
</copy>
<copy file="${build.dir}/${ProjectName.referencesComponentName.name}-ejb-client.jar"
tofile="${lib.dir}/web/WEB-INF/lib/${ProjectName.referencesComponentName.name}-ejb-client.jar" />
<jar jarfile="${build.dir}/${name}-web.war"
basedir="${lib.dir}/web" />
</target>-->
<!-- ================================================================== -->
<!-- Compilation of the complete J2EE application (both web and EJB) -->
<!-- ================================================================== -->
<!-- <target name="j2ee-meta-inf" depends="prepare">
<copy file="${etc.dir}/application.xml"
tofile="${lib.dir}/j2ee/META-INF/application.xml" />
</target>
<target name="ear" depends="ejb-jar,war,j2ee-meta-inf">
<copy file="${build.dir}/${name}-ejb.jar"
tofile="${lib.dir}/j2ee/${name}-ejb.jar" />
<copy file="${build.dir}/${name}-web.war"
tofile="${lib.dir}/j2ee/${name}-web.war" />
<jar jarfile="${build.dir}/${name}.ear"
basedir="${lib.dir}/j2ee" />
</target> -->
<!-- =================================================================== -->
<!-- Deploy EAR file -->
<!-- =================================================================== -->
<target name="deploy-server" depends="ejb-jar">
<echo>${jboss.home}</echo>
<copy todir="${jboss.deploy}">
<fileset dir="${build.dir}" includes="*.jar"/>
</copy>
</target>
<!-- =================================================================== -->
<!-- Create class and package usage pages -->
<!-- =================================================================== -->
<target name="docs" depends="init">
<javadoc locale="${javadoc.locale}" packagenames="${package.names}.${name}.*" destdir="${javadoc.dir}"
classpath="${build.classpath}" encoding="${javadoc.encoding}" author="${javadoc.author}"
version="${javadoc.version}" use="${javadoc.usage}" windowtitle="${project.name} ${name} Component API"
doctitle="${project.name} ${name} Component" bottom="Copyright ${sign.copyright} ${project.date} ${company.signature}. All Rights Reserved.">
<classpath>
<pathelement path="${lib.dir}/ejb"/>
</classpath>
<sourcepath>
<pathelement path="${src.main.dir}/ejb"/>
</sourcepath>
</javadoc>
</target>
<target name="startbanner">
<echo>+---------------------------------------+</echo>
<echo>+ Building ${name} Component +</echo>
<echo>+---------------------------------------+</echo>
</target>
<target name="endbanner" depends="main">
<echo>+---------------------------------------+</echo>
<echo>+ Finished ${name} Component +</echo>
<echo>+---------------------------------------+</echo>
</target>
<target name="main" depends="startbanner, ejb-jar"/>
<target name="main2" depends="startbanner, ejb-jar"/>
<target name="main3" depends="startbanner, ejb-jar"/>
<target name="core" depends="ejb-war"/>
<target name="ejb-war" depends="main2,endbanner, deploy-server"/>
<target name="deploy" depends="main3,endbanner"/>
<target name="all" depends="core, docs"/>
</project>