向蚂蚁(ant)致敬(2)

                                                     向蚂蚁致敬(2)

清单三:

<?xml version="1.0"?>

<project name="Panel" default="all">

    <target name="setProps" unless="setProps">

        <property name="outdir" value="/tmp/app/"/>

    </target>

    <target name="init" depends="setProps">

        <tstamp/>

        <property name="local_outdir" value="${outdir}/panel"/>

        <property name="build" value="${local_outdir}/classes"/>

        <property name="lib" value="${outdir}/lib"/>

        <property name="panel_jar" value="${lib}/panel.jar"/>

    </target>

    <target name="clean" depends="init">

        <delete dir="${local_outdir}"/>

        <delete file="${panel_jar}"/>

    </target>

    <target name="prepare" depends="init">

        <mkdir dir="${build}"/>

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

    </target>

    <target name="compile" depends="prepare">

        <javac srcdir="./src" destdir="${build}"/>

    </target>

    <target name="package" depends="compile">

        <jar jarfile="${panel_jar}" basedir="${build}"/>

    </target>

    <target name="all" depends="clean,package"/>

</project>

 

其中目标all为默认目标(default="all"),所以该构件文件中的所有目标都会被执行。因为目标all依赖于cleanpackageclean依赖于initinit依赖于setpropspackage依赖于compilecompile依赖于prepareprepare依赖于init

当然如果使用的同一文字在两次以上,那么就应该在init目标中定义它。

<property name="local_outdir" value="${outdir}/panel"/>

<property name="build" value="${local_outdir}/classes"/>

       你可以看到在定义local_outdir的值中就使用了${outdir}。它代表local_outdir=/tmp/app/panel build的值中使用了${local_outdir}。它代表build=/tmp/app/panel/classes

       好了你可以在Panel目录中在命令行运行ant了,看看是否在G:/tmp/app/lib目录下有HelloWorldPanel.jar

       同样在FrameMain目录中编写象上面那样的各自的构件文件(清单四)。当然了,HelloWorldMain依赖于HelloWorldFrameHelloWorldFrame依赖于HelloWorldPanel,所以要在其各自的Main-INF中编写各自的清单文件(清单五)

 

清单四:

<!—Frameàbuild.xml-->

<?xml version="1.0"?>

<project name="Frame" default="all">

    <target name="setProps" unless="setProps">

        <property name="outdir" value="/tmp/app/"/>

    </target>

    <target name="init" depends="setProps">

        <tstamp/>

        <property name="local_outdir" value="${outdir}/frame"/>

        <property name="build" value="${local_outdir}/classes"/>

        <property name="lib" value="${outdir}/lib"/>

        <property name="frame_jar" value="${lib}/frame.jar"/>

    </target>

    <target name="clean" depends="init">

        <delete dir="${build}"/>

        <delete file="${frame_jar}"/>

    </target>

    <target name="prepare" depends="init">

        <mkdir dir="${build}"/>

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

    </target>

    <target name="compile" depends="prepare">

        <javac srcdir="./src" destdir="${build}">

            <classpath>

                <fileset dir="${lib}">

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

                </fileset>

            </classpath>

        </javac>

    </target>

    <target name="package" depends="compile">

        <jar jarfile="${frame_jar}" manifest="./META-INF/MANIFEST.MF" basedir="${build}"/>

    </target>

    <target name="all" depends="clean,package"/>

</project>

 

 

<!—Mainàbuild.xml-->

<?xml version="1.0"?>

<project name="application" default="all">

    <target name="setProps" unless="setProps">

        <property name="outdir" value="/tmp/app/"/>

    </target>

    <target name="init">

        <tstamp/>

        <property name="local_outdir" value="${outdir}/java_app"/>

        <property name="build" value="${local_outdir}/classes"/>

        <property name="lib" value="${outdir}/lib"/>

        <property name="app_jar" value="${lib}/main.jar"/>

    </target>

    <target name="clean" depends="init">

        <delete dir="${local_outdir}"/>

        <delete file="${app_jar}"/>

    </target>

    <target name="prepare" depends="init">

        <mkdir dir="${build}"/>

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

    </target>

    <target name="compile" depends="prepare">

        <javac srcdir="./src" destdir="${build}">

            <classpath>

                <fileset dir="${lib}">

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

                </fileset>

            </classpath>

        </javac>

    </target>

    <target name="package" depends="compile">

        <jar jarfile="${app_jar}" manifest="./META-INF/MANIFEST.MF" basedir="${build}"/>

    </target>

    <target name="all" depends="clean,package"/>

</project>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值