<target name="1">        ä»ÕdŠ¡¾l?tasks)
           <javac></javac>      一™å¹javacä»ÕdŠ¡
           ...
           <oneTask></ontTask>  一™å¹å…¶å®ƒä“QåŠ?br />       </target>
       <target name="2">
           <javac></javac>
           ...
           <oneTask></ontTask>
       </target>
   </project>
   project代表一个项目,
   default:˜q行到å¿UîCØ“"dist"çš„target(ä»ÕdŠ¡¾l?
   basedir:基准路径�br />-->
<project default="dist" basedir=".">
 <!--
   ===================================================================
     定义属性(property tasksåQ?br />     最好把用到的èµ\径呀åQŒå¿U°å‘€éƒ½åœ¨˜q™é‡Œå®šä¹‰æˆå…¨å±€å˜é‡
     例:定义
         <property name="a" value="hello"/>
     以厞®±å¯ä»¥è¿™æ ïL”¨å®ƒï¼š
         <property name="b" value="${a}/b"/>
     现在:b=="hello/b"
   ===================================================================
-->
 <!--主è¦çš„ç³»¾lŸçŽ¯å¢ƒå±žæ€?->
 <property environment="env"/>
 <!--å–window,unix...的环境å˜é‡?->
 <property name="java.home" value="${env.JAVA_HOME}"/>
 <property name="ant.home" value="${env.ANT_HOME}"/>
 <!--主è¦çš„app环境属æ€?->
 <property name="app.name" value="hello-ant"/>
 <property name="app.jar" value="${app.name}.jar"/>
 <property name="app.copyright" value=" Copyright (c) 2002 The Neusoft Software Foundation. All rights reserved."/>
 <!--appä¸src的属æ€?->
 <property name="src.dir" value="src"/>
 <property name="src.main" value="${src.dir}/main"/>
 <property name="src.script" value="${src.dir}/script"/>
 <!--app用到的lib-->
 <property name="lib.dir" value="lib"/>
 <!--app的build目录�->
 <property name="build.dir" value="build"/>
 <property name="build.classes" value="${build.dir}/classes"/>
 <property name="build.docs" value="${build.dir}/docs"/>
 <property name="build.docs.api" value="${build.docs}/api"/>
 <property name="build.lib" value="${build.dir}/lib"/>
 <!--app的dist (distribution) 目录�->
 <property name="dist.dir" value="dist"/>
 <property name="dist.bin" value="${dist.dir}/bin"/>
 <property name="dist.docs" value="${dist.dir}/docs"/>
 <property name="dist.lib" value="${dist.dir}/lib"/>
 <!--app的docs目录�->
 <property name="docs.dir" value="docs"/>
 <!--
   定义一¾l„èµ\径以åŽå¯ä»¥é€šè¿‡idé‡ç”¨˜q™ç»„路径 åQŒä¾‹åQ?br />   <javac srcdir="src/main" destdir="build/classes">
           <classpath refid="classpath"/>
   </javac>
   -->
 <path id="classpath">
  <!--æœ¬é¡¹ç›®åªæœ‰ä¸€ä¸ªjavaåQŒç”¨ä¸ä¸ŠclasspathåQŒè¿™é‡Œåªæ˜¯åšä¸ªä¾‹å?->
  <pathelement location="${build.classes}"/>
  <pathelement path="${java.home}/lib/tools.jar"/>
 </path>
 <!--
   ===================================================================
     init 准备目录(File Tasks)
     主è¦çš„目录结构通常是ä¸ä¼šå˜çš„,一èµïL”Ÿæˆä»–ä»?br />   ===================================================================
-->
 <target name="init">
  <!--清除以å‰ç›®å½•-->
  <delete dir="${build.dir}" failonerror="false"/>
  <delete dir="${dist.dir}" failonerror="false"/>
  <!--准备目录-->
  <mkdir dir="${build.dir}"/>
  <mkdir dir="${build.classes}"/>
  <mkdir dir="${build.docs}"/>
  <mkdir dir="${build.docs.api}"/>
  <mkdir dir="${build.lib}"/>
  <mkdir dir="${dist.dir}"/>
  <mkdir dir="${dist.bin}"/>
  <mkdir dir="${dist.lib}"/>
 </target>
 <!--
   ===================================================================
     Build the code (Compile Tasks,File Tasks)
   ===================================================================
-->
 <target name="build" depends="init">
  <!--¾~–译-->
  <javac srcdir="${src.main}" destdir="${build.classes}">
   <classpath refid="classpath"/>
  </javac>
 </target>
 <!--
   ===================================================================
     打包文档(Archive Tasks)
     Create the project jars: xxx1.jar and xxx2.jar
   ===================================================================
-->
 <target name="jars" depends="build">
  <jar basedir="${build.classes}" jarfile="${build.lib}/${app.jar}"/>
 </target>
 <!--
    ===================================================================
      Creates the API documentation
    ===================================================================
-->
 <target name="javadocs" depends="jars" description="--> creates the API documentation">
  <!--copy docs 手册... -->
  <copy todir="${build.docs}">
   <fileset dir="${docs.dir}"/>
  </copy>
  <javadoc packagenames="hello.ant.*" sourcepath="${src.main}" defaultexcludes="yes" destdir="${build.docs.api}" author="true" version="true" use="true" windowtitle="Docs API">
   <doctitle><![CDATA[<h1>hello ant Docs API</h1>]]></doctitle>
   <bottom><![CDATA[<i>${app.copyright}</i>]]></bottom>
   <tag name="todo" scope="all" description="To do:"/>
  </javadoc>
Â
 </target>
 <!--
    ===================================================================
      Create the distribution that can run (Archive Tasks)
Â Â Â Â Â Â ä¸»è¦æ˜¯ä»Žå„ç›®å½•ä¸æŠŠè¯¥copyçš„copyä¸?br />    ===================================================================
-->
 <target name="dist" depends="javadocs">
  <!--copy bin 执行文äšg -->
  <copy todir="${dist.bin}">
   <fileset dir="${src.script}/"/>
  </copy>
  <copy todir="${dist.docs}">
   <fileset dir="${build.docs}/"/>
  </copy>
  <!-- copy lib æ–‡äšg -->
  <copy todir="${dist.lib}">
   <fileset dir="${build.lib}/"/>
  </copy>
 </target>
 <!--
    ===================================================================
     Cleans everything(File Tasks)
     例如å¯ä»¥åˆ 除buildä¸çš„æ–‡äšgåQŒç•™¾l™ä½ 呿Œ¥å?br />    ===================================================================
-->
</project>