Ant实战篇3- -| 回首页 | 2004年索引 | - -Eclipse 3.0资料收集

我的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>

- 作者: neitbe 2004年09月7日, 星期二 15:53

Trackback

你可以使用这个链接引用该篇日志 http://publishblog.blogdriver.com/blog/tb.b?diaryID=314952

回复

评论内容: