向蚂蚁(ant)致敬(2)
来源:互联网 发布:淘宝商家放单群 编辑:程序博客网 时间:2024/06/10 01:50
清单三:
<?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依赖于clean和package。clean依赖于init,init依赖于setprops。package依赖于compile,compile依赖于prepare,prepare依赖于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。
同样在Frame和Main目录中编写象上面那样的各自的构件文件(清单四)。当然了,HelloWorldMain依赖于HelloWorldFrame,HelloWorldFrame依赖于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>
- 向蚂蚁(ant)致敬(2)
- 向蚂蚁(Ant)致敬(3)
- 向蚂蚁致敬(1)
- 向蚂蚁致敬(1)
- 向蚂蚁致敬(1)
- 向前辈致敬致敬
- 向id Software致敬
- 向CSDN致敬!
- 向 RCP 致敬
- 向Bill Gates致敬
- 向刘翔致敬
- 向伊拉克运动员致敬!
- 向彭启琮教授致敬
- 向软件英雄致敬
- 向高手致敬
- 向小人物致敬
- 向小人物致敬
- 向生命致敬
- 开始Blog了
- Tomcat 中的 BASIC验证
- 九阳真经
- java连接SqlServer2000数据库实例
- 向蚂蚁致敬(1)
- 向蚂蚁(ant)致敬(2)
- telnetd的小问题
- 硬盘安装Debian经历
- DOM方式与SAX方式的比较
- 降龙十八掌
- 向蚂蚁(Ant)致敬(3)
- 安家落户第一篇
- 关于POS操作的一些文章收集链接
- 软件需求说明书模板