ant—学习记录一
<?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—学习记录一的更多相关文章
- ant学习记录(复制-移动-删除-依赖综合测试)+fileset
<?xml version="1.0"?> <project name="targetStudy" default="mkdir&q ...
- Quartz 学习记录1
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
- Java 静态内部类与非静态内部类 学习记录.
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
- Apache Shiro 学习记录4
今天看了教程的第三章...是关于授权的......和以前一样.....自己也研究了下....我觉得看那篇教程怎么说呢.....总体上是为数不多的精品教程了吧....但是有些地方确实是讲的太少了.... ...
- UWP学习记录12-应用到应用的通信
UWP学习记录12-应用到应用的通信 1.应用间通信 “共享”合约是用户可以在应用之间快速交换数据的一种方式. 例如,用户可能希望使用社交网络应用与其好友共享网页,或者将链接保存在笔记应用中以供日后参 ...
- UWP学习记录11-设计和UI
UWP学习记录11-设计和UI 1.输入和设备 通用 Windows 平台 (UWP) 中的用户交互组合了输入和输出源(例如鼠标.键盘.笔.触摸.触摸板.语音.Cortana.控制器.手势.注视等)以 ...
- UWP学习记录10-设计和UI之控件和模式7
UWP学习记录10-设计和UI之控件和模式7 1.导航控件 Hub,中心控件,利用它你可以将应用内容整理到不同但又相关的区域或类别中. 中心的各个区域可按首选顺序遍历,并且可用作更具体体验的起始点. ...
- UWP学习记录9-设计和UI之控件和模式6
UWP学习记录9-设计和UI之控件和模式6 1.图形和墨迹 InkCanvas是接收和显示墨迹笔划的控件,是新增的比较复杂的控件,这里先不深入. 而形状(Shape)则是可以显示的各种保留模式图形对象 ...
- UWP学习记录8-设计和UI之控件和模式5
UWP学习记录8-设计和UI之控件和模式5 1.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...
随机推荐
- 深入分析MySQL ERROR 1045 (28000)
这几天在MySQL新建用户后.出现訪问拒绝的问题,错误码为ERROR 1045(28000).在网上搜索了非常久.找到了非常多解决的方法,但非常遗憾的是这么多办法没有一个能解决该问题.尽管出现的错误码 ...
- mysql时间与字符串相互转换
时间.字符串.时间戳之间的互相转换很常用,但是几乎每次使用时候都喜欢去搜索一下用法:本文整理一下三者之间的 转换(即:date转字符串.date转时间戳.字符串转date.字符串转时间戳.时间戳转da ...
- linux下操作gpio寄存器的方法
一. 在驱动中: 1. 用的时候映射端口:ioremap; #define GPIO_OFT(x) ((x) - 0x56000000) #define GPFCON (*(volatile unsi ...
- STL之deque(双向队列)
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数: deque在vector函数的基础上增 ...
- Java 操作mongodb
package cn.test.db; import java.io.File; import java.io.IOException; import java.net.UnknownHostExce ...
- 基本的编程原则SOLID
1.单一职责原则:每个类只负责完成一个职责,当它需要完成多个职责时就需要将它拆分开来. 2.开放封闭原则:对扩展开放,对修改封闭. 3.里氏替换原则:子类对象可以替换(代替)它的所有父类(超类)对象. ...
- Arcengine 开发,FeatureClass新增feature时“The Geometry has no z-value”或"The Geometry has null z-value"的解决方案
Arcengine 开发,当图层含有Z值时,新增的feature没有Z值就会 出现“The Geometry has no z-value”的错误.意思很明显,新增的geometry没有Z值. 此时按 ...
- Android抖动动画
//CycleTimes动画重复的次数 public Animation shakeAnimation(int CycleTimes) { Animation translateAnimation = ...
- Android Dalvik 虚拟机
简介 Android 平台虽然是使用java语言来开发应用程序,但Android程序却不是运行在标准java虚拟机上的.谷歌专门为Android平台设计了一套虚拟机来运行Android程序.它就是Da ...
- Java学习之开篇—个人随想
现在大三上学期了,家里希望考研,不然觉得我这学校不好找工作,我自己觉得工作还是靠自己,学校就像给人第一眼感觉那样,虽然重要但也只会吸引HR多看两眼,真正留得住HR的还是要有拿的出手的技能. 当初凭着对 ...