posts - 431,  comments - 344,  trackbacks - 0

<! —①-->

<project name="logon basedir=" ." deafult="dist">

     <property name="project.title" value="Logon" />

     <property name="project.version" value="1.2" />

     <property name="dist.name" value="logon" />

     <! —②-->

     <path id="project.class.path">

          <pathelement path="lib/struts.jar" />

          <pathelement path="./classes/" />

          <pathelement path="${classpath}" />

</path>

     <! —③ -->

     <target name="prepare">

          <tstamp />

</target>

     <! —④-->

     <target name="resources">

         <copy todir="classes" includeEmptyDirs="no">

              <fileset dir="src/resources">

                   <patternset>

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

                   </patternset>

              </fileset>

          </copy>

</target>

     <! —⑤-->

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

         <!-- property name="build.compiler" value="jikes"/ -->

         <javac srcdir="src" destdir="classes">

              <classpath refid="project.class.path" />

          </javac>

</target>

     <! —⑥-->

     <target name="clean" description="Prepare for clean build">

          <delete dir="classes" />

         <mkdir dir="classes" />

</target>

     <! —⑦-->

     <target name="javadoc" description="Generate JavaDoc API docs">

          <delete dir="./doc/api" />

         <mkdir dir="./doc/api" />

          <javadoc sourcepath="./src/java" destdir="./doc/api" classpath="lib/struts.jar:" packagenames="app.*" author="true" private="true" version="true" windowtitle=" API Documentation" doctitle="&lt;h1&gt;${project.title}Documentation

(Version${project.version})&lt;/h1&gt;" bottom="Copyright &#169; 2002" />

</target>

     <! —⑧-->

     <target name="dist" description="createe binary distribution">

          <delete dir="./dist" />

         <mkdir dir="./dist" />

         <war warfile="./dist/${dist.name}.war" webxml="../WEB-INF/web.xml" manifest="../META-INF/MANIFEST.MF" basedir="../" excludes="WEB-INF/dist,WEB-INF/web.xml,

META-INF/MANIFEST.MF" />

</target>

     <! —⑨-->

     <target name="project" depends="clean,prepare,compile,javadoc,dist"/>

</project>

1 project 给出一个构建文件的总体名称,并且标识一个基础目录和缺省目标。当Ant 装入文件时,目标会首先锁定它的调用。要使用不同的目标,改变这个缺省设置并存储文件,或者在命令行中覆盖它。缺省基准目录设置为build.xml 的当前目录。脚本的其他部分这是 WEB-INF 文件夹,并且要在这个基础目录的子目录下查找源代码。这个块中还有一些属性要设置,以备后用。要让这个文件用于另一个应用,你可以只修改这些属性,而让剩下的其他属性保持原样。

2 path 块建立了Ant 构建应用是要使用的classpath。它每次都会执行而不管是选择哪一个目标。通常,这是一个WEB-INF/lib 文件夹中的JAR 的清单。

3 prepare 帮助Ant 通过比较类文件和源文件的时间戳来最小化编译工作。

4 resources 目标从源代码树中拷贝一些属性文件 (java.util.Properties) 到classes 树。这样你可以保持原始的属性文件和文件源代码中的保持一致。

5 compile 目标首先调用prepare resources 目标,然后开始构建源文件。Jikes [Jikes]或者标准的javac 编译器都可以使用。

6 clean 目标通过删除和恢复类文件夹来确保所有的东西都重新构建。

7 javadoc 目标为应用构建JavaDoc。通常,你需要象标明项目的classpath 一样为JavaDoc classpath 标明相同的 JAR 路径。注意,这是一个冒号分隔的列表。JavaDoc 编译器会发出警告,但会继续为它能找到的类产生文档。

8 dist 目标为应用创建一个Web 归档( WAR ) 文件。这个文件可以用来在你的生产服务器

上部署你的应用。

9 project 目标将全部构建所有东西,并准备一个二进制的分发包。关于Ant 得更多信息,我们强烈推荐你阅读Java Development with Ant[Hatcher] 。

 

posted on 2006-09-04 16:47 周锐 阅读(2148) 评论(2)  编辑  收藏 所属分类: Ant

只有注册用户登录后才能发表评论。


网站导航: