初学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,马上就可以执行相应要的东西。

posted on 2013-06-18 23:06  pony1223  阅读(348)  评论(0编辑  收藏  举报

导航