zoukankan      html  css  js  c++  java
  • 初学ant




    项目管理第二步——ant  自动化完成项目的构建
      Ant1.7.chm
      Ant权威指南
      Ant入门
      Ant使用指南
      Ant安装文件压缩包

    dir 查看所有目录
    mkdir 创建目录

    创建一个文件夹teach/ant/ant01
    1.新建build.xml,
      编写内容:
      <project>
         <target> ---每一个任务
               *********
         </target>
      </poject>

    2.新建HelloWorld.java程序

    3.测试ant,看结果

    总结:
       (1)Ant的中根目录是project,所有项目都在旗下,
    在project中的属性 default是指定执行默认的任务
       (2)执行的每一项具体的是通过target来完成,当不同的任务之间有相应关联的时候,
    可以通过depends属性来依赖。

    4.ant编译普通Java项目的流程。
      (1)创建文件夹
      build——>所有的文件信息都保存在这个文件夹中
      src———》所有的源码信息保存在这个文件夹中
      classes——》编译好的所有class文件保存在这个文件夹中
      dist——》编译好的jar文件保存在这个文件夹中

       (2) 将src文件夹的数据拷贝都build/src文件夹中
      (3)编译源代码
     
      (4)将源代码打包成jar包

      (5)直接运行程序

    5.在eclipse中新建一个Java项目ant01
        新建一个HelloWorld程序

       配置eclipse中的Ant, 文档路径设置成自己文档的路径,要不然会去网上抓取,比较慢
    另外配置Ant的HOME,配置成自己的Ant的目录,默认是JDK的目录

       (2)在更目录创建一个build.xml文件,右键other的选择ant打开。ant编辑器

        (3)开始输入build.xml内容。

    接下来首先,创建文件夹。  
          标签为<mkdir>    删除的标签为<delete>


    如何获取文件夹下的所有文件,在ant中是通过文件集来实现的,即简历一个文件文件集合
       <fileset dir="" includes="" ></fileset>
      dir指明路径,includes包含什么样的文件包含进来。如:"**/*.java" "**/*.*"

       fileset 都有一个id  来表明id
      后面的fileset就可以直接使用refid=引用这个id

       一般要先开始删除,因为ant如果检查到有了剧不会执行了。

    文件集合还可以如下使用:
        <fileset id="" dir="src">
                <include name="**/*.*">
                <exclude name="**/*.java">  排除java的文件    
    </fileset>


    fileset可以设定一组文件集来操作,dir指明文件集要进行选择的路径
    通过id可以指定这个文件的名称,在使用的时候可以直接引入。
    include和exclude 可以设定包含返回和排除范围 **/*.* 所有目录总所有文件包裹子文件



    上面的为随笔记忆:
    下面代码:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <project default="execute">
     3     
     4     <property name="build.dir" location="build"></property>
     5     <!--使用属性定义相应的路径时,一定使用location而不要使用value-->
     6     <property name="build.classes" location="${build.dir}classes"></property>
     7     <property name="build.src" location="${build.dir}/src"></property>
     8     <property name="build.lib.dir" location="${build.dir}/dist"></property>
     9     <!--<property name="execute.class" value="ant.zttc.edu.cn.HelloWorld"/>
    10     <property name="jar.name" value="hello.jar"></property>
    11     -->
    12     
    13     <!--如果属性太多,可以将属性放置到一个外部文件中定义,之后进行引用
    14       特别注意:如果是路径不建议在外部文件中定义,因为此时就不会设置location的值-->
    15     <property file="build.properties"></property>
    16     
    17     <!--把环境变量中的参数到处到env这个变量中-->
    18     <property environment="env"></property>
    19     
    20     <target name="test">
    21         <echo>${ant.home}</echo>
    22         <echo>${ant.version}</echo>
    23         <echo>${env.CATALINA_HOME}</echo>
    24         <echo>${env.OS}</echo>
    25     </target>
    26     
    27     <!--fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径,
    28     通过id可以指定这个文件的名称,在使用的时候进行直接的引入
    29     include和exclude可以设定包含返回和排除范围**/*.*所有目录中的所有文件
    30     -->
    31     <fileset id="src.path" dir="src">
    32         <include name="**/*.*"/>
    33         <!--<exclude name="**/*.java"/>-->
    34     </fileset>
    35     
    36     <target name="init">
    37         <delete dir="${build.dir}"></delete>
    38         <mkdir dir="${build.dir}"/>
    39         <mkdir dir="${build.src}"/>
    40         <mkdir dir="${build.classes}"/>
    41         <mkdir dir="${build.lib.dir}"/>
    42     </target>
    43     
    44     <target name="copySrc" depends="init">
    45         <copy todir="${build.src}">
    46             <fileset refid="src.path"></fileset>
    47         </copy>
    48     </target>
    49     
    50     <target name="compile" depends="init">
    51         <javac destdir="${build.classes}" srcdir="src"></javac>
    52     </target>
    53     
    54     <target name="jar" depends="compile">
    55         <jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
    56             <manifest>
    57                 <attribute name="Main-Class" value="${execute.class}"/>
    58                 <attribute name="Build-By" value="Konghao"/>
    59             </manifest>
    60         </jar>    
    61     </target>
    62     
    63     <target name="execute" depends="jar,copySrc">
    64         
    65         <echo>基于类路径的classname来完成执行</echo>
    66         <java classname="${execute.class}" classpath="${build.classes}">
    67             <arg value="张三"/>
    68             <arg value="李四"/>
    69             <arg value="王五"/>
    70         </java>
    71         
    72         <echo>基于jar文件执行</echo>
    73         <java jar="${build.lib.dir}/${jar.name}" fork="true">
    74             <arg value="张三"/>
    75             <arg value="李四"/>
    76             <arg value="王五"/>
    77         </java>
    78     </target>
    79 </project>
    View Code



    总结:
    (1)首先是SVN将数据check out 下来,
    (2)然后在自己电脑上执行以下ant,依靠build.xml,马上就可以执行相应要的东西。

  • 相关阅读:
    Spark基础
    flink杂记
    算法
    算法小结
    Java内存模型
    LeetCode---Backtracking && DP
    LeetCode---Sort && Segment Tree && Greedy
    LeetCode---Depth-first && Breadth-first
    LeetCode---Bit Manipulation && Design
    MD5
  • 原文地址:https://www.cnblogs.com/pony1223/p/3143381.html
Copyright © 2011-2022 走看看