ant

Ant是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高开发效率

+ project

     - name            项目名称

    - default          默认target name 值,初始的状态

    - basedir         基本目录 一般为 ="."

    - property       键值对

     - name           名称

     - value           值

     - file              引用属性文件

   - target           目标对象

     - name          目标对象唯一标识

     - cvs             cvs打包成cvs

     - unzip          解压 ear,war,jar 包

     - delete         删除指定文件    

     - mkdir         创建指定文件

     - copy          拷贝指定文件


1. 新建一个build.xml,放在工程根目录下,build.xml定义了Ant要执行的批处理命令。
注:src存放Java源文件,classes存放编译后的class文件,lib存放编译和运行用到的所有jar文件,web存放JSP等web文件,dist存放打包后的jar文件,doc存放API文档。

2. build.xml文件,输入以下内容:

<?xml version="1.0"?>
<project name="antTest"  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="E:\jar" />
<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.6">
<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="antTest"   depends="test"  description="make .jar file">
<mkdir dir="${dist.dir}" />
<jar destfile="${dist.dir}/antTest.jar" basedir="${classes.dir}">
</jar>
</target>

<!-- 输出api文档 -->
<target name="doc" depends="antTest" description="create api doc">
<mkdir dir="${doc.dir}" />

</target>

 

</project>


  注:以上xml依次定义了init(初始化),compile(编译),test(测试),doc(生成文档),pack(打包)任务,可以作为模板。

 3.选中Hello工程,然后选择“Project”,“Properties”,“Builders”,“New…”,选择“Ant Build”:
  填入Name:Ant_Builder;Buildfile:build.xml;Base Directory:${workspace_loc:/Hello}(按“Browse Workspace”选择工程根目录),由于用到了junit.jar包,搜索Eclipse目录,找到junit.jar,把它复制到 Hello/lib目录下,并添加到Ant的Classpath中:
然后在Builder面板中钩上Ant_Build,去掉Java Builder:

再次编译,即可在控制台看到Ant的输出:

Buildfile: E:\my-workstation\new_java\antTest\build.xml
init:
compile:
    [javac] E:\my-workstation\new_java\antTest\build.xml:26: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
test:
antTest:
doc:
BUILD SUCCESSFUL
Total time: 687 milliseconds


  Ant依次执行初始化,编译,测试,打包,生成API文档一系列任务,极大地提高了开发效率。将来开发J2EE项目时,还可加入部署等任务。并且,即使脱离了Eclipse环境,只要正确安装了Ant,配置好环境变量ANT_HOME=<Ant解压目录>,Path=…;%ANT_HOME%\bin,在命令行提示符下切换到Hello目录,简单地键入ant即可

 

From:http://www.cnblogs.com/clarkchen/archive/2011/03/10/1980187.html

其他使用的url:

http://blog.csdn.net/liu_qn/article/details/6572419

 

Jar中Manifest.mf详解 http://blog.csdn.net/memray/article/details/7776018 

http://www.cnblogs.com/jayceli/archive/2012/04/19/2457040.html

taskdef:  http://ant-contrib.sourceforge.net/tasks/index.html

http://xiarihexiang.iteye.com/blog/1440830

failonerror:http://www.blogjava.net/alwayscy/archive/2007/03/22/105468.html
delete:http://hi.baidu.com/game_engine/item/b94b0316d8564e59f0090e14
          http://bryan-liu.iteye.com/blog/1070903

 

posted on 2012-09-21 01:12  half-acre  阅读(302)  评论(0编辑  收藏  举报