学ant(2)——path
1、path是ant内置的一种datatype,作用是声明路径之类的东西,在官方的manual中也叫做Path-like Structures,一般是这样声明的
<pathelement location="location1" /> pathelement 包含一个或多个文件
<classpath>
<pathelement location="./lib/test.jar"/>
<pathelement location="."/>
</classpath>
- <path id="id">
- <pathelement location="location1" />
- <pathelement location="location2" />
- </path>
或者
- <path id="id">
- <pathelement path="location1;location2" />
- </path>
或者
- <path id="id">
- <pathelement path="location1:location2" />
- </path>
声明path的时候,可以用内嵌的<pathelement>元素,来指定若干个位置。<pathelement>元素常用的属性有2个,location可以声明一个路径,path可以声明多个路径,其中用;或者:来分隔
2、不过简单的情况下,一般不这么写,而是用替代方式
- <path id="id" location="location" />
或者
- <path id="id" path="location1;location2" />
或者
- <path id="id" path="location1:location2" />
很容易看出来,这种形式是第一种的简化写法,效果是一样的
但是有些时候比较复杂,也就需要用到<pathelement>元素了,比如ant自带的build.xml中
- <path id="classpath">
- <fileset dir="lib/optional" includes="*.jar"/>
- </path>
- <path id="tests-classpath">
- <pathelement location="${build.classes}"/>
- <path refid="classpath"/>
- </path>
这个例子里,tests-classpath需要组合2个path,所以就不能使用上面说的简化方式了,这里就用到了<pathelement>元素
3、<path>中可以带一个<fileset>,这种写法也是很常见的,比如说:
- <path id="classpath">
- <fileset dir="${lib.dir}">
- <include name="**/*.jar" />
- </fileset>
- </path>
4、path的使用方式有2种
第一种是用id声明,然后用refid来引用
第二种是直接内联
这2种方式在上面的2里都有例子
5、build.xml本身是基于xml的,很多元素的写法都可以用属性或者子元素2选1来实现
- <javac srcdir="src" />
也可以写成
- <javac>
- <src dir="src" />
- </javac>
效果是一样,其他类似这样的情况还有很多,看多了就习惯了
6、关于<path>和<fileset>的区别,<path>元素期待看到的是一个路径,而<fileset>期待看到的是一个文件集合,从这个角度来理解就可以了
学ant(2)——path的更多相关文章
- Ant高级-path和fileset
一 <path/> 和 <classpath/> 你可以用":"和";"作为分隔符,指定类似PATH和CLASSPATH的引用.Ant会 ...
- 关于 ant 不同渠道自动打包的笔记
必要的java.android.ant文件及循环打包用到的ant的jar 下载Ant(这里的Ant不是eclipse和android SDk里面自带的ant) 官方下载地址:http://a ...
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- 基于ant的jmeter自动化性能测试
准备工作: 1.java的运行环境正常,及运行java -version.javac -version能正常输出java版本: 2.ant的运行环境正常,使用ant需要配置环境变量,编辑/etc/pr ...
- Mac osx 下配置ANT
一般安装过程如下: 1:sudo sh (会提示你输入当前用户的密码) 2:cp apache-ant.1.8.2-bin.zip /usr/local 3:cd /usr/local 4:unzip ...
- 写个自动下载安装Ant的shell脚本【二】
#!/bin/bash ####################################################### file name: install_ant.sh# # fun ...
- 写个自动下载安装Ant的shell脚本【一】
#!/bin/bash ###################################################### # file name: install_ant.sh # # f ...
- CentOS5.5下安装Ant
从yum源直接下ant: [root@master local]$ yum install ant 运行ant,发现报错: java.lang.NoClassDefFoundError: org/ap ...
- Ant命令行操作
Ant命令行操作 Ant构建文件可以将项目编译,打包,測试,它是Apache软件基金会jakarta文件夹中的一个子项目,具有跨平台性,操作简单,并且非常easy上手. 关于Ant执行,能够在项目中找 ...
随机推荐
- CF1329F题解
能发现: 1.输出序列与掉落顺序没有任何关系(因为单调性不会被改变). 2.输出的序列 \(h_i\) 最多有一组 \(h_i=h_{i+1}\). 对 2 的证明: 当 \(h_{i+1}\) 与 ...
- Flyway使用说明
Flyway简介 Flyway是源自Google的数据库版本控制插件.项目开发中,数据库往往需要随着软件版本进行变化,相比起手动执行SQL脚本,flyway可以实现自动化的数据库版本修改,让开发/测试 ...
- Python+Scrapy+Crawlspider 爬取数据且存入MySQL数据库
1.Scrapy使用流程 1-1.使用Terminal终端创建工程,输入指令:scrapy startproject ProName 1-2.进入工程目录:cd ProName 1-3.创建爬虫文件( ...
- P5110 块速递推-光速幂、斐波那契数列通项
P5110 块速递推 题意 多次询问,求数列 \[a_i=\begin{cases}233a_{i-1}+666a_{i-2} & i>1\\ 0 & i=0\\ 1 & ...
- C++第三十九篇 -- 研究一下Windows驱动开发(二)-- 驱动程序中重要的数据结构
数据结构是计算机程序的核心,I/O管理器定义了一些数据结构,这些数据结构是编写驱动程序时所必须掌握的.驱动程序经常要创建和维护这些数据结构的实例. 一.驱动对象(DRIVER_OBJECT) 每个驱动 ...
- Flask 之linux部署
1.装python > `[root ~]# yum install gcc [root ~]# wget https://www.python.org/ftp/python/3.6.5/Pyt ...
- ifix重用性模块化开发纪实(以污水处理泵站为例)
在经过多个自动化上位机的开发后,对上位机的重用开发和提高效率,减少重复工作有了一定的积累.故而产生了模块化建设上位机的思路.现从当下项目开始,研究出一套可重复利用的模块化系统. 1.点表整理 从PLC ...
- 看视频学SignalR—在微软虚拟学院学习SignalR
SignalR把实时Web功能变得异常简单. 如果您希望在几个小时内对SignalR有一个直观的了解,观看微软虚拟学院(MVA)的视频教学Lighting Up Real-Time Web Commu ...
- Couchdb 垂直权限绕过漏洞(CVE-2017-12635)
影响版本:小于 1.7.0 以及 小于 2.1.1 首先,发送如下数据包: 修改数据包 { "type": "user", "name": ...
- 洛谷P1879题解
题面 显然是个状压DP. 看数据范围,不难发现算法复杂度应该是 \(O(n\times 2^n \times 2^n)\) . 显然第一个 \(n\) 是遍历每一行的土地. 后面两个 \(2^n\) ...