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.日历.日期和时间控件 日期和时间控件提供了标准的本地化方法,可供用户在应用中查看并设置日期和时间值. 有四个日期和时间控件可供选择,选择的依据如下: 日 ...
随机推荐
- codeforces#FF DIV2C题DZY Loves Sequences(DP)
题目地址:http://codeforces.com/contest/447/problem/C C. DZY Loves Sequences time limit per test 1 second ...
- RGB与HSB之间的转换公式
先来了解一些概念: 1.RGB是一种加色模型,就是将不同比例的Red/Green/Blue混合在一起得到新颜色.通常RGB颜色模型表示为: 2.HSB(HSV) 通过色相/饱和度/亮度三要素来表达颜色 ...
- 【企业库6】【日志应用程序块】实验2:创建和使用异步Trace Listener
Lab 2: Create and Use an Asynchronous Trace Listener 实验2:创建和使用异步Trace Listener In this lab, you will ...
- How Many Answers Are Wrong(并查集)
Description TT and FF are ... friends. Uh... very very good friends -________-b FF is a bad boy, he ...
- 分蛋糕(C - 二分查找)
分蛋糕 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85904#problem/C Description My birthd ...
- [C#]窗体切换--避免开启多个线程
先说说这个多窗体的界面的解决的办法: 用到的方法很简单,就是程序运行就建立一个MainForm,在这个MainForm中设立一个Panel,同时设立几个按钮,按下每个按钮都在这个Panel中载入不同的 ...
- json所需jar包 & js解析后台json数据
Json 所需jar包: var listxxx='<%=request.getAttribute("listxxx")%>'; // list数组 var mapx ...
- Oracle 如何写出高效的 SQL
转自:Oracle 如何写出高效的 SQL 要想写出高效的SQL 语句需要掌握一些基本原则,如果你违反了这些原则,一般情况下SQL 的性能将会很差. 1. 减少数据库访问次数连接数据库是非常耗时的,虽 ...
- Cobbler自动化部署
一:PXE.Kickstart与Cobbler的概念: PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的技术,需要网卡的硬件支持,工作于C/S的 ...
- GNU scientific library
GNU scientific library 是一个强大的C,C++数学库.它涉及的面很广,并且代码效率高,接口丰富.正好最近做的一个项目中用到多元高斯分布,就找到了这个库. GNU scientif ...