ant脚本示例

<?xml version="1.0" encoding="UTF-8"?>
<project name="testdemo" default="deploy" basedir=".">

    <!--project 目录结构设置-->
    <property environment="env" />
    <property name="java.home" value="${env.JAVA_HOME}" />
    <property name="src.dir" value="src" />
    <property name="doc.dir" value="doc" />
    <property name="src.main" value="${src.dir}/main" />
    <property name="lib.dir" value="lib" />
    <property name="app.name" value="testdemo" />
    <!--build目录设置-->
    <property name="build.dir" value="build" />
    <property name="build.classes" value="${build.dir}/classes" />
    <property name="build.lib" value="${build.dir}/lib" />
    <!--deploy目录设置-->
    <property name="deploy.dir" value="deploy" />
    <property name="deploy.lib" value="${deploy.dir}/lib" />

    <!--构造打包时Class-Path需要的路径, pathsep是分隔符 -->
    <pathconvert property=" libs" pathsep=" ">
        <mapper>
            <chainedmapper>
                <flattenmapper />
                <globmapper from="*" to="lib/*" />
            </chainedmapper>
        </mapper>
        <!--按照mapper定义的格式组合lib目录下面的所有jar文件,形成诸如lib/jar1.jar lib/jar2.jar的字符串-->
        <fileset dir="${lib.dir}">
            <include name="*.jar" />
        </fileset>
    </pathconvert>

    <!--依赖的classpath-->
    <path id="classpath">
        <fileset dir="${lib.dir}">
            <include name="*.jar" />
        </fileset>
        <fileset dir="${java.home}/lib">
            <include name="tools.jar" />
        </fileset>
    </path>

    <!--创建任务init,负责初始化一些条件-->
    <target name="init">
        <!--删除编译、发布目录-->
        <delete dir="${build.dir}" failοnerrοr="false" />
        <delete dir="${deploy.dir}" failοnerrοr="false" />
        <!--准备编译目录-->
        <mkdir dir="${build.dir}" />
        <mkdir dir="${build.classes}" />
        <mkdir dir="${build.lib}" />
        <!--准备发布目录-->
        <mkdir dir="${deploy.dir}" />
        <mkdir dir="${deploy.lib}" />
    </target>

    <!--拷贝配置文件和依赖的jar-->
    <target name="conf_lib" depends="init" description="copy conf and lib">
        <copy todir="${build.classes}">
            <fileset dir="${src.main}/resources">
                <include name="**" />
            </fileset>
        </copy>
        <!-- copy lib 文件 -->
        <copy todir="${build.lib}">
            <fileset dir="${lib.dir}/" />
        </copy>
    </target>

    <!--创建编译任务,名字是compile,depends指定了comiple任务依赖init任务-->
    <target name="compile" depends="conf_lib" description="comile target">
        <!--编译-->
        <javac srcdir="${src.main}/java/" destdir="${build.classes}" includeantruntime="true">
            <classpath refid="classpath" />
        </javac>
    </target>

    <!--打成jar包-->
    <target name="jar" depends="compile" description="jar taget">
        <jar destfile="${build.dir}/${app.name}.jar" >
            <manifest>
                <attribute name="Main-Class" value="com.test.Main"/>
                <attribute name="Class-Path" value="${libs}"/>
            </manifest>
             <!-- jar标签中不指定basedir属性,用fileset指定打包目录,并排除某些文件不打包到jar包 -->
            <fileset dir="${build.classes}">
                <exclude name="conf/dbsetting.properties"/>
            </fileset>
        </jar>
    </target>

    <!--生成发布部署文件-->
    <target name="deploy" depends="jar" description="deploy">
        <copy todir="${deploy.dir}/conf">
                <fileset file="${build.classes}/conf/dbsetting.properties" />
        </copy>
        <copy todir="${deploy.lib}">
            <fileset dir="${build.lib}/" />
        </copy>
        <copy todir="${deploy.dir}">
            <fileset file="${build.dir}/${app.name}.jar" />
        </copy>
    </target>

</project>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值