ANT摸板

使用时将〈 〉替换成半角的< >

〈?xml version="1.0"?〉
〈project name="Hello world" default="doc"〉

〈!-- properies --〉
〈property name="src.dir" value="src" /〉
〈property name="report.dir" value="report" /〉
〈property name="classes.dir" value="classes" /〉
〈property name="lib.dir" value="lib" /〉
〈property name="dist.dir" value="dist" /〉
〈property name="doc.dir" value="doc"/〉


〈!-- 定义classpath --〉
〈path id="master-classpath"〉
〈fileset file="${lib.dir}/*.jar" /〉
〈pathelement path="${classes.dir}"/〉
〈/path〉

〈!-- 初始化任务 --〉
〈target name="init"〉
〈/target〉

〈!-- 编译 --〉
〈target name="compile" depends="init" description="compile the source files"〉
〈mkdir dir="${classes.dir}"/〉
〈javac srcdir="${src.dir}" destdir="${classes.dir}" target="1.4"〉

〈classpath refid="master-classpath"/〉
〈/javac〉

〈/target〉

〈!-- 测试 --〉
〈target name="test" depends="compile" description="run junit test"〉
〈mkdir dir="${report.dir}"/〉
〈junit printsummary="on"
haltonfailure="false"
failureproperty="tests.failed"
showoutput="true"〉
〈classpath refid="master-classpath" /〉
〈formatter type="plain"/〉
〈batchtest todir="${report.dir}"〉
〈fileset dir="${classes.dir}"〉
〈include name="**/*Test.*"/〉
〈/fileset〉
〈/batchtest〉
〈/junit〉
〈fail if="tests.failed"〉
***********************************************************
**** One or more tests failed! Check the output ... ****
***********************************************************
〈/fail〉
〈/target〉

〈!-- 打包成jar --〉
〈target name="pack" depends="test" description="make .jar file"〉
〈mkdir dir="${dist.dir}" /〉
〈jar destfile="${dist.dir}/hello.jar" basedir="${classes.dir}"〉
〈exclude name="**/*Test.*" /〉
〈exclude name="**/Test*.*" /〉
〈/jar〉
〈/target〉

〈!-- 输出api文档 --〉
〈target name="doc" depends="pack" description="create api doc"〉
〈mkdir dir="${doc.dir}" /〉
〈javadoc destdir="${doc.dir}"
author="true"
version="true"
use="true"
windowtitle="Test API"〉
〈packageset dir="${src.dir}" defaultexcludes="yes"〉
〈include name="example/**" /〉
〈/packageset〉
〈doctitle〉〈![CDATA[〈h1〉Hello, test〈/h1〉]]〉〈/doctitle〉
〈bottom〉〈![CDATA[〈i〉All Rights Reserved.〈/i〉]]〉〈/bottom〉
〈tag name="todo" scope="all" description="To do:" /〉
〈/javadoc〉
〈/target〉

〈!-- 清除编译后的文件--〉
〈target name="clean"〉
   〈delete dir="${classes.dir}"/〉
   〈mkdir dir="${classes.dir}"/〉
   〈delete〉〈fileset dir="${doc.dir}" includes="*.html"/〉〈/delete〉
〈/target〉
〈/project〉

在最后增加了一个清除目标,清除类文件总是一个很好的主意,因为它可以在将来的编译中避免错误的相关性问题。假设你在类A中定义了一个常量foo,并且在类B中使用它。当你编译这些Java源文件的时候,foo的值被嵌入在B的类文件中。如果你修改foo的值,并且重新编译(没有删除类文件),javac任务就不会编译类B,因为它的源文件比相应的类要旧,因此旧的值将保持不变。即便用javac使用depend属性也不能解决这个问题,因为Java编译器的这个选择是一种错误。Jikes的相关性检查较好,但是你应该重新构建所有的类文件,这样才是最快的办法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值