项目管理第二步——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 可以设定包含返回和排除范围 **/*.* 所有目录总所有文件包裹子文件

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

 <?xml version="1.0" encoding="UTF-8"?>
<project default="execute"> <property name="build.dir" location="build"></property>
<!--使用属性定义相应的路径时,一定使用location而不要使用value-->
<property name="build.classes" location="${build.dir}\classes"></property>
<property name="build.src" location="${build.dir}/src"></property>
<property name="build.lib.dir" location="${build.dir}/dist"></property>
<!--<property name="execute.class" value="ant.zttc.edu.cn.HelloWorld"/>
<property name="jar.name" value="hello.jar"></property>
--> <!--如果属性太多,可以将属性放置到一个外部文件中定义,之后进行引用
特别注意:如果是路径不建议在外部文件中定义,因为此时就不会设置location的值-->
<property file="build.properties"></property> <!--把环境变量中的参数到处到env这个变量中-->
<property environment="env"></property> <target name="test">
<echo>${ant.home}</echo>
<echo>${ant.version}</echo>
<echo>${env.CATALINA_HOME}</echo>
<echo>${env.OS}</echo>
</target> <!--fileset可以设定一组文件集来进行操作,dir指明文件集要进行选择的路径,
通过id可以指定这个文件的名称,在使用的时候进行直接的引入
include和exclude可以设定包含返回和排除范围**/*.*所有目录中的所有文件
-->
<fileset id="src.path" dir="src">
<include name="**/*.*"/>
<!--<exclude name="**/*.java"/>-->
</fileset> <target name="init">
<delete dir="${build.dir}"></delete>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.src}"/>
<mkdir dir="${build.classes}"/>
<mkdir dir="${build.lib.dir}"/>
</target> <target name="copySrc" depends="init">
<copy todir="${build.src}">
<fileset refid="src.path"></fileset>
</copy>
</target> <target name="compile" depends="init">
<javac destdir="${build.classes}" srcdir="src"></javac>
</target> <target name="jar" depends="compile">
<jar destfile="${build.lib.dir}/${jar.name}" basedir="${build.classes}">
<manifest>
<attribute name="Main-Class" value="${execute.class}"/>
<attribute name="Build-By" value="Konghao"/>
</manifest>
</jar>
</target> <target name="execute" depends="jar,copySrc"> <echo>基于类路径的classname来完成执行</echo>
<java classname="${execute.class}" classpath="${build.classes}">
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java> <echo>基于jar文件执行</echo>
<java jar="${build.lib.dir}/${jar.name}" fork="true">
<arg value="张三"/>
<arg value="李四"/>
<arg value="王五"/>
</java>
</target>
</project>

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

初学ant的更多相关文章

  1. 2013.11.15 初学ant构建

    该做的事情都差不多做完了,今天开始用ant构建,所以学了下ant,其实要不是因为ubuntu时不时的抽风我应该早就可以开始构建了,但重写的时候也想清楚了一些逻辑,优化了一些地方.下面是我这辈子写的第一 ...

  2. Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案

    上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...

  3. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  4. Jenkins 部署 jmeter + Ant

    安装Jenkins: 到jenkins官网下载相应的jenkins版本: 双击jenkins.msi启动安装,安装目录选择D:\Progrom Files\Jenkins,然后启动成功. Jenkin ...

  5. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  6. React学习及实例开发(二)——用Ant Design写一个简单页面

    本文基于React v16.4.1 初学react,有理解不对的地方,欢迎批评指正^_^ 一.引入Ant Design 1.安装antd yarn add antd 2.引入 react-app-re ...

  7. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  8. DDD初学指南

    去年就打算总结一下,结果新换的工作特别忙,就迟迟没有认真动手.主要内容是很多初学DDD甚至于学习很长时间的同学没有弄明白DDD是什么,适合什么情况.这世界上没有银弹,抛开了适合的场景孤立的去研究DDD ...

  9. gulp初学

    原文地址:gulp初学 至于gulp与grunt的区别,用过的人都略知一二,总的来说就是2点: 1.gulp的gulpfile.js  配置简单而且更容易阅读和维护.之所以如此,是因为它们的工作方式不 ...

随机推荐

  1. 【转】git命令

    Git使用 1. git pull    更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支 2. git push ...

  2. css(四)-- 盒子模型和定位

    盒子模型: 盒子模型就是把一个html边框比作成了一个盒子的边框,盒子模型要做用于操作数据与边框之间的距离或者 是边框与边框之间的距离. 盒子模型主要是用于操作内边距(padding)与外边距(mar ...

  3. 写一篇 Bootstrap弹窗确认的文章。本周完成

    思路; 点击按钮,显示模态 点击确定,异步提交 根据结果,删除指定的记录

  4. 安卓 ArrayList,LinkedList,HashSet,Vector,TreeSet的区别和使用

    java的集合就那么几种 总体为:List,Set,Map (都是接口由其子类去实现具体的方法) ArrayList,LinkedList,Vector都属于List List:元素是有顺序的,元素可 ...

  5. 学习笔记::LCT

    今天听见茹大神20分钟讲完了LCT,10分钟讲完平衡树,5分钟讲完树剖,感觉自己智商还不及他一半... 还有很多不懂:2017/1/15 的理解: access是干什么用的? 不知道,只知道他是用来把 ...

  6. 让VLC也拥有斷點播放功能

    如何让VLC也拥有记忆功能,记住上次播放位置.以下都是在Windows系统下操作,其他 方法/步骤 下载 libsrpos_plugin-0.5.win 插件 https://sourceforge. ...

  7. cpsr当前程序状态寄存器

    详解CPSR寄存器(ls_core) (2012-10-11 17:29:47) 转载▼ 标签: arm920t寄存器 cpsr cpu工作原理 分类: 第四章-踏入嵌入式领域之ARM 在介绍CPSR ...

  8. 超强JavaScript编辑器WebStorm代码提示迟缓问题及其它想到的

    去D2后发现 Hedger 的js编辑器是webStorm,便下载来试试,结果发现: 虽然WebStorm的js的提示远远不如aptana那么强悍(输入字母d不提示document),但是做为 Int ...

  9. firefox-Developer开发者站点——关于Object.create()新方法的介绍

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/create Objec ...

  10. HDU-1598-find the most comfortable road(暴力+并查集)多看看,

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1598 题目思路:对于这个题目,可以先按速度的大小成小到大排序, 再成0 到 m ,把所有可以联通的道路 ...