zoukankan      html  css  js  c++  java
  • ant half

    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

  • 相关阅读:
    正则表达式
    HDU 2066 多源最短路
    UVA 11039 模拟
    Concrete Mathematics Chapter 1 Warmups
    List differences between JAVA and C++
    uva 11107Life Forms
    poj 1509 Glass Beads
    poj 3581
    网络流建图
    图论算法----网络流
  • 原文地址:https://www.cnblogs.com/halfacre/p/2696231.html
Copyright © 2011-2022 走看看