<?xml version="1.0"?>
<project name="helloWorld">
<target name="sayHelloWorld">
<echo message="Hello,xutianhao"/>
</target>
</project>
<!-- ant_helloworld -->

  

<?xml version="1.0"?>
<project name="projectStudy" default="sayBaseDir" basedir="E:\apache-ant-1.8.2-bin\apache-ant-1.8.2">
<!-- default 代表默认要执行的动作 target-->
<!-- basedir为用户设置的属性 如果去掉的话再执行,结果是e:即ant构建文件的父目录 -->
<target name="sayBaseDir">
<!-- 命令行中执行的语句 ant SayBasedir 即执行sayBaseDir步骤 -->
<!-- 如果未指明执行的target 直接ant 会完成default指定的target-->
<echo message="the base dir is:${basedir}"/>
</target>
<!-- 如果说在一个project里有两个name相同的target
运行结果为
BUILD FAILED
E:\build.xml:20: Duplicate target 'sayBaseDir'-->
</project>

  

<?xml version="1.0"?>

<project name="targetStudy">
<target name="targetA" if="ant.java.version">
<!-- 如果 if属性存在 所在 target将被执行 -->
<echo message="java.version:${ant.java.version}"/>
</target>
<target name="targetB" unless="amigo" depends="targetA">
<!-- 如果 unless属性存在 所在target将不被执行 -->
<!-- targetB依赖于targetA -->
<!-- 运行ant targetB 先执行targetA(被依赖的)再执行targetB -->
<description>a depend example!</description>
<echo message="The base dir is:${basedir}"/>
</target>
</project> <!--运行结果
E:\>ant targetB
Buildfile: E:\build.xml targetA:
[echo] java.version:1.7 targetB:
[echo] The base dir is:E:\ BUILD SUCCESSFUL
Total time: 0 seconds -->

  

<?xml version="1.0"?>

<project name="targetStudy">
<target name="targetA">
<echo message="The base dir is:${basedir}"/>
<!-- project 基目录的绝对路径 代表当前目录-->
<echo message="The ant.file is:${ant.file}"/>
<!-- buildfile 的绝对路径 -->
<echo message="The ant.java.version is:${ant.java.version}"/>
<!-- ant 检测到的java版本 -->
<echo message="The ant.version is:${ant.version}"/>
<!-- ant 的版本 -->
<echo message="The ant.project.name is:${ant.project.name}"/>
<!-- 当前制定的project的name --> </target>
</project>
<!-- E:\>ant targetA
Buildfile: E:\build.xml targetA:
[echo] The base dir is:E:\
[echo] The base dir is:E:\build.xml
[echo] The base dir is:1.7
[echo] The base dir is:Apache Ant(TM) version 1.8.2 compiled on December 20
2010
[echo] The base dir is:targetStudy BUILD SUCCESSFUL
Total time: 0 seconds -->

  

<?xml version="1.0"?>

<project name="targetStudy">
<property name="name" value="xutianhao"/>
<property name="age" value="23"/>
<target name="targetA">
<echo message="The base dir is:${name}"/>
<!-- 设置的姓名属性 xutianhao-->
<echo message="The base dir is:${age}"/>
<!-- 设置的年龄属性23--> </target>
</project>

  

ant—学习记录一的更多相关文章

  1. ant学习记录(复制-移动-删除-依赖综合测试)+fileset

    <?xml version="1.0"?> <project name="targetStudy" default="mkdir&q ...

  2. Quartz 学习记录1

    原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...

  3. Java 静态内部类与非静态内部类 学习记录.

    目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...

  4. Apache Shiro 学习记录4

    今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...

  5. UWP学习记录12-应用到应用的通信

    UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...

  6. UWP学习记录11-设计和UI

    UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...

  7. UWP学习记录10-设计和UI之控件和模式7

    UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...

  8. UWP学习记录9-设计和UI之控件和模式6

    UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...

  9. UWP学习记录8-设计和UI之控件和模式5

    UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...

随机推荐

  1. UVA 674 Coin Change(dp)

    UVA 674  Coin Change  解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87730#problem/ ...

  2. 对面向对象的理解—— SAP电面(1)

    对于C++面向对象的理解 面向对象是在结构化设计方法出现很多问题的情况下应运而生的.结构化设计方法求解问题的基本策略是从功能的角度审视问题域.它将应用程序看成实现某些特定任务的功能模块,其中子过程是实 ...

  3. jquery日历签到控件的实现

    calendar.js var calUtil = { //当前日历显示的年份 showYear:2015, //当前日历显示的月份 showMonth:1, //当前日历显示的天数 showDays ...

  4. 类似jquery的一个demo

    通过以下的demo,可以大体知道jquery的一些组织结构以及一些实现方法. 实际上jquery就是一个全局变量,只是在这个变量上添加了各种属性和方法. 首先我们要理解什么是匿名函数自执行,简单点就是 ...

  5. php随笔6-thinkphp OA系统 JS 实时显示当前时间

    不多说,直入主题: JS. // JavaScript Document function showtime() { var today,hour,second,minute,year,month,d ...

  6. KbmMW资源汇总(更新中…)

    KbmMW框架是收费的,不在此提供下载,如需购买,请自行联系作者Kim Madsen. 网址资源: 官网主页:http://www.components4programmers.com/product ...

  7. hibernate 缓存 4.3

    缓存在hibernate中是天生就有的,是一级缓存,当session关闭时一级缓存就失效了 一级缓存是内置的,生效范围是在同一个session中才行.二级缓存是需要配置才有 判断当前项在不在一级缓存中 ...

  8. C++惯用法:通过成员模板实现隐式转换(Coercion 强迫 by Member Template)

    Intent To increase the flexibility of a class template's interface by allowing the class template to ...

  9. pycurl,Python cURL library

    pycurl — A Python interface to the cURL library Pycurl包是一个libcurl的Python接口.pycurl已经成功的在Python2.2到Pyt ...

  10. setuptools,easy_install使用

    当需要安装第三方python包时,可能会用到easy_install命令.easy_install是由PEAK(Python Enterprise Application Kit)开发的setupto ...