我常用的ant配置文件

build.xml如下:
<?xml version="1.0" encoding="UTF-8"?>

<project name="yybar" basedir="." default="build">

    <!--Load properties file

    <property file="build.properties" />

    -->



    <!-- App name-dependent settings. -->

    <property name="appname" value="${ant.project.name}" />

    <property name="deploy.resin" value="D:/resin3.0.19/webapps" />

    <property name="deploy.tomcat" value="D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps" />



    <property name="src.dir" value="${basedir}/src" />

    <property name="data.dir" value="${basedir}/data" />

    <property name="lib.dir" value="${basedir}/lib" />

    <property name="web.dir" value="${src.dir}/web" />

    <property name="build.dir" value="${basedir}/build" />

    <property name="dist.dir" value="${basedir}/dist" />

    <property name="war.dir" value="${build.dir}/${appname}" />

    <property name="webinf.dir" value="${war.dir}/WEB-INF" />

    <property name="class.dir" value="${war.dir}/WEB-INF/classes" />

    <property name="conf.dir" value="${src.dir}/conf" />

    <property name="conf.classes" value="${src.dir}/conf/classes" />

    <property name="conf.webinf" value="${src.dir}/conf/WEB-INF" />



    <property name="warlib.dir" value="${war.dir}/WEB-INF/lib" />

    <property name="war.file" value="${dist.dir}/${appname}.war" />



    <property name="views.dir" value="${src.dir}/java/com/easou/${appname}/views" />

    <property name="controller.dir" value="${src.dir}/java/com/easou/${appname}/controller" />

    <property name="model.dir" value="${src.dir}/java/com/easou/${appname}/model" />

    <property name="util.dir" value="${src.dir}/java/com/easou/${appname}/util" />

    <property name="exception.dir" value="${src.dir}/java/com/easou/${appname}/exception" />



    <property name="test" value="${basedir}/test" />

    <property name="test.src" value="${test}/java" />

    <property name="test.classesdir" value="${build.dir}/test/classes" />

    <property name="test.libpath" value="${test}/lib" />

    <property name="test.confdir" value="${test}/etc" />

    <property name="test.reportdir" value="${test}/report" />



    <tstamp>

        <format property="build.date" pattern="yyyy-MM-dd HH:mm" />

    </tstamp>



    <path id="master-classpath" description="Master CLASSPATH for this script">

        <fileset dir="${lib.dir}">

            <include name="*.jar" />

        </fileset>

        <pathelement path="${class.dir}" />

    </path>



    <path id="test.lib">

        <fileset dir="${test.libpath}">

            <include name="**/*.jar" />

        </fileset>

    </path>



    <path id="lib.total">

        <path refid="master-classpath" />

        <path refid="test.lib" />

    </path>



    <target name="init" description="Setup for build script">

        <mkdir dir="${class.dir}" />

        <mkdir dir="${warlib.dir}" />

        <mkdir dir="${conf.dir}" />

        <mkdir dir="${conf.classes}" />

        <mkdir dir="${conf.webinf}" />

        <mkdir dir="${web.dir}" />

        <mkdir dir="${lib.dir}" />

        <mkdir dir="${data.dir}" />

        <mkdir dir="${views.dir}" />

        <mkdir dir="${model.dir}" />

        <mkdir dir="${controller.dir}" />

        <mkdir dir="${util.dir}" />

        <mkdir dir="${exception.dir}" />

        <mkdir dir="${dist.dir}" />

    </target>



    <!-- ======================================================= -->

    <!-- Convert native properties files to ascii format.       -->

    <!-- ======================================================= -->

    <target name="unicode">

        <delete>

            <fileset dir="${conf.classes}" includes="resources*.properties" />

        </delete>

        <native2ascii encoding="gb2312" src="${conf.classes}" dest="${conf.classes}" includes="resources*.src" ext=".properties" />

    </target>



    <target name="updateweb" depends="init" description="Copies web related files to WAR directory">

        <copy todir="${war.dir}">

            <fileset dir="${web.dir}">

                <include name="**/*" />

            </fileset>

        </copy>

        <copy todir="${war.dir}">

            <fileset dir="${views.dir}" />

        </copy>

    </target>



    <target name="updatelib" depends="init" description="Copies JAR files to WAR directory">

        <copy todir="${warlib.dir}">

            <fileset dir="${lib.dir}">

                <exclude name="*junit*.jar" />

                <exclude name="*spring-mock*.jar" />

            </fileset>

        </copy>

    </target>



    <target name="deleteconfig" depends="init" description="Deletes config files from WAR directory">

        <delete failοnerrοr="false">

            <fileset dir="${war.dir}">

                <include name="**/*.properties" />

                <include name="**/*.xml" />

            </fileset>

        </delete>

    </target>



    <target name="updateconfig" depends="init,unicode" description="Copies configuration files to WAR directory">

        <copy todir="${class.dir}">

            <fileset dir="${conf.classes}">

                <include name="**/*.xml" />

                <include name="**/*.properties" />

                <include name="**/*.src" />

            </fileset>

        </copy>

        <copy todir="${webinf.dir}" preservelastmodified="true">

            <fileset dir="${conf.webinf}">

                <include name="**/*.xml" />

                <include name="**/*.tld" />

            </fileset>

        </copy>

    </target>



    <!-- ======================================================= -->

    <!-- Compile all classes.                                    -->

    <!-- ======================================================= -->

    <target name="compile" depends="init" description="Compiles .java files to WAR directory">

        <javac srcdir="${src.dir}" destdir="${class.dir}" encoding="utf-8" debug="on" deprecation="yes" includes="**" optimize="on" failοnerrοr="true">

            <classpath refid="master-classpath" />

        </javac>

    </target>



    <target name="build" depends="compile,updateweb,updateconfig,updatelib" />



    <target name="rebuild" depends="clean,compile,updateweb,updateconfig,updatelib" />



    <target name="dist" depends="rebuild" description="Assembles WAR file">

        <war destfile="${war.file}" webxml="${conf.webinf}/web.xml">

            <fileset dir="${war.dir}">

                <include name="**/*.*" />

                <exclude name="**/web.xml" />

                <exclude name="**/test/*.class" />

            </fileset>

        </war>

    </target>



    <target name="deploy" depends="dist" description="Deploys WAR file to deploy.dir">

        <delete failοnerrοr="true" dir="${deploy.resin}/${appname}" />

        <copy file="${war.file}" todir="${deploy.resin}" />

    </target>



    <!-- ======================================================= -->

    <!-- Install targets.                                                                               -->

    <!-- ======================================================= -->

    <target name="resininstall">

        <copy todir="${deploy.resin}/${appname}">

            <fileset dir="${war.dir}" />

        </copy>

    </target>



    <target name="resin" depends="updateweb, updatelib, updateconfig, resininstall" />



    <target name="tomcatinstall">

        <copy todir="${deploy.tomcat}/${appname}">

            <fileset dir="${war.dir}" />

        </copy>

    </target>



    <target name="tomcat" depends="updateweb, updatelib, updateconfig, tomcatinstall" />



    <!-- ======================================================= -->

    <!-- Clean up various files and directories.                 -->

    <!-- ======================================================= -->



    <target name="clean" description="Deletes files from WAR directory">

        <delete failοnerrοr="false">

            <fileset dir="${war.dir}">

                <include name="**/*.*" />

            </fileset>

        </delete>

        <delete failοnerrοr="false">

            <fileset dir="${dist.dir}">

                <include name="**/*" />

            </fileset>

        </delete>

        <delete failοnerrοr="false">

            <fileset dir="${dist.dir}">

                <include name="**/*" />

            </fileset>

        </delete>

    </target>



    <!-- ======================================================= -->

    <!-- Assemble WAR module.                                    -->

    <!-- ======================================================= -->

    <target name="unpackwar" depends="compile, unicode, updateweb, updatelib, updateconfig" />



    <!-- 

    <target name="test" depends="unpackwar">

        printsummary属性为true会将测试的结果简单的显示出来 

        <junit printsummary="true" showoutput="yes" filtertrace="false">

            <classpath refid="master-classpath" />

            batchtest元素定义测试文件以运行(其类名称以Test结尾)

            <batchtest fork="yes">

                <formatter type="plain" />

                <fileset dir="${class.dir}">

                    <include name="**/*Test.class" />

                </fileset>

            </batchtest>

        </junit>

    </target>

    -->



    <!-- ======================================================= -->

    <!-- Compile all testsuite classes.                          -->

    <!-- ======================================================= -->

    <target name="testcompile">

        <mkdir dir="${test.classesdir}" />

        <copy todir="${test.classesdir}">

            <fileset dir="${test.confdir}" includes="*.properties" />

            <fileset dir="${conf.classes}" includes="*.*" excludes="spring.properties" />

        </copy>

        <javac encoding="utf-8" debug="on" deprecation="yes" destdir="${test.classesdir}" includes="**" optimize="on" srcdir="${test.src}">

            <classpath refid="lib.total" />

            <classpath>

                <pathelement location="${class.dir}" />

            </classpath>

        </javac>

    </target>



    <!-- ======================================================= -->

    <!-- Batch Test                                                -->

    <!-- ======================================================= -->

    <target name="testAll" depends="unpackwar, testcompile">

        <!--ant junit -->

        <mkdir dir="${test.reportdir}" />

        <junit printsummary="no" fork="yes" haltonfailure="off">

            <classpath>

                <pathelement location="${class.dir}" />

                <pathelement location="${test.classesdir}" />

                <pathelement location="${conf.webinf}" />

                <!-- strutsTest must require /WEB-INF/web.xml in classpath -->

                <pathelement location="${war.dir}" />

            </classpath>

            <classpath refid="master-classpath" />

            <classpath refid="test.lib" />

            <formatter type="xml" />

            <formatter type="plain" usefile="no" />

            <test name="com.easou.yybar.AllTests" todir="${test.reportdir}" />

            <!--

                <batchtest todir="${test.reportdir}">

                    <fileset dir="${test.classesdir}">

                        <include name="**/*Test.class" />

                        <exclude name="**/*TestCase.class" />

                        <exclude name="**/*$*.class" />

                    </fileset>

                </batchtest>

                -->

        </junit>

    </target>



    <target name="test-reports" description="Generate test reports">

        <junitreport todir="${test.reportdir}">

            <fileset dir="${test.reportdir}">

                <include name="TEST-*.xml" />

            </fileset>

            <report format="noframes" todir="${test.reportdir}" />

        </junitreport>

    </target>



</project>

其目录结构如下:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值