ant使用总结(二):相关命令说明

在ant安装目录的manual目录是ant的说明文档,打开index.xml,点击Using Apache ant有使用说明。

相关命令说明

指定配置文件

执行ant命令,默认使用当前目录下的build.xml,可以通过-f指定配置文件。

示例:ant -f 配置文件路径

project

属性:

name:工程名称

default:默认执行的target

target

<target>是一个容器,指令集合,一个事务。

属性:

depends:依赖项,执行该target之前需要先执行的target。

name:名称

例子:

<target name="A" >

<target name="B" depends="A">

<target name="C" depends="A,B">

在命令行中执行指定target:ant targetName

property

ant中的属性,相当于定义一个变量,通过${属性名}引用。

属性:

name:变量名

value:值

file:属性配置文件路径,配置文件中要以key=value的格式配置属性。例子:?<property file="local.properties" />?

environment:给环境变量起一个别名?

例子:

<property name="a" value="aaa" />

<target name="print">

<echo>${a}</echo>

</target>

import

包含一个文件,project的name属性值不能冲突。optional表示该文件是否可选。

<import file="test2.xml" optional="true" />

condition

condition标签可以通过条件判断去定义变量的值。

	<property name="a" value="aaa" />

	<!--
	<property name="b" value="bbb" />
	-->

	<!-- 如果设置了属性b则值为${b},否则值为${a}-->
    <condition property="val" value="${b}" else="${a}">
        <!-- 判断是否设置了指定属性 -->
        <isset property="b" />
    </condition>

propertyfile

把属性保存到一个文件里

属性:

file:文件路径

    <propertyfile file="auto.prop">
    	<!-- 保存auto.umeng.channel=${a}到文件 -->
        <entry key="auto.umeng.channel" value="${a}" />
    </propertyfile>

copy

1.拷贝单个文件到指定路径

<copy file="a.txt" tofile="b.txt" />

2.拷贝单个文件到指定目录

<copy file="a.txt " todir="../tmpdir " / >

3.拷贝一个目录到另外一个目录下

<copy todir="../destDir">

<fileset dir="srcDir" />

</copy>

4.拷贝一批文件到指定目录下

<copy todir="../destDir">

<fileset dir="srcDir">

<include name="**/*.java">

<exclude name="**/Test.java">

</fileset>

</copy>

<copy todir="../destDir">

<fileset dir="srcDir" excludes="**/*.java"/>

</copy>

delete

1.删除一个文件

<delete file="a.txt" />

2.删除指定目录及其子目录

<delete dir="dir" />

3.删除指定的一组文件

<delete>

<fileset dir="." includes="**/*.bak" />

</delete>

move

1.移动或重命名一个文件

<move file="a.txt" tofile="b.txt" />

2.移动一个文件到指定目录下

<move file="a.txt" todir="destDir" />

3.移动一个目录到另一个目录下

<move todir="destDir">

<fileset dir="srcDir" />

<move/>

4.将一组文件移动到另一个目录下

<move todir="destDir">

<fileset dir"srcDir">

<include name="**/*.jar" />

<exclude name="**/ant.jar" />

</fileset>

</move>

javac

<javac srcdir="源文件目录" destdir="编译输出目录" classpath="依赖的jar文件或类目录" debug="on表示输入日志信息,off表示不输出" includes="包含文件" excludes="忽略文件" />

java

<java classname="执行的类的全路径名">

<classpath>

<pathelement location="xxx.jar" />

<pathelement path="classpath" />

</classpath>

</java>

pathelement可以通过location属性包含一个jar或者通过path属性包含一个类路径。classpath用于设定要使用的环境变量。

jar

<jar destfile="xxx.jar" basedir="./classes" includes="./lib/**(包含lib目录下所有文件)" excludes="**/Test.class(忽略所有Test.class)" manifest="自定义mf文件命名"/>

if

if通过条件判断决定是否进行一些操作。

	<!-- 如果条件成立,则调用print -->
	<if>
		<!-- 判断指定属性值是否为true -->
        <!--
        <istrue value="${a}" />
        -->

		<!-- 判断是否设置了指定属性 -->
		<!--
		<isset property="prop"/>
		-->

		<!-- 判断两个值是否相等 -->
    	<equals arg1="${channel}" arg2="2" />
    <then>
        <antcall target="print" />
    </then>
	</if>

antcall标签用于调用一个target。

script

script标签用于插入脚本代码。

示例:获取当前时间并设置为属性time的值。

<script language="javascript">
            <![CDATA[
                project.setProperty("time",Math.floor((new Date()).getTime()/1000));
            ]]>
    </script>

时间戳

格式化当前时间并设置属性time。

    <tstamp>
      <format property="time"
                  pattern="yy.M.d.HHmm" />
    </tstamp>

添加自定义jar到ant的classpath

	<!-- 添加ant-contrib-1.0b3.jar到classpath -->
	<taskdef resource="net/sf/antcontrib/antcontrib.properties">
        <classpath>
            <pathelement location="${env.ANT_ROOT}\lib\ant-contrib-1.0b3.jar" />
        </classpath>
    </taskdef>

ant中实现迭代

由于ant本身不支持迭代,因此我们需要用到一个第三方的库 ant-contrib来实现迭代功能。

下载ant-contrib,并将ant-contrib-1.0b3.jar文件拷贝至ANT安装目录。

下载地址:

http://sourceforge.net/projects/ant-contrib/files/

http://pan.baidu.com/s/1pJKDeyR

我这里是把ant-contrib-1.0b3.jar放到了ant安装目录的lib目录下。

示例代码:

运行效果:

替换指定字符串

转义符列表:

&lt; < 小于号
&gt; > 大于号
&amp; &
&apos; 单引号
&quot; " 双引号

replaceregexp标签的是支持正则表达式的。

相关文章:

Android Ant 批量多渠道打包实例

ant使用总结(一):使用ant自动打包apk

ant使用总结(三):批量打包apk

时间: 2024-07-31 03:54:34

ant使用总结(二):相关命令说明的相关文章

Linux之进程管理(2)相关命令之二

Linux之进程管理(2)相关命令之二 进程监控工具命令使用:uptime  top  vmstat  pmap  dstat uptime  命令 uptime - Tell how long the system has been running. 显示当前已经运行的时长及cpu核心处理状态 说明:显示系统当前时间,系统运行时长,以及当前上线人数,系统平均负载(一般按1.5.10分钟的平均负载,一般不会超过1). 选项及用法: uptime  [option] -p, --pretty  :

Redis(二)相关命令

(一)简介 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中.Redis 客户端的基本语法为:redis-cli [[email protected] ~]# /usr/local/redis-3.2.9/src/redis-cli  127.0.0.1:6379> ping PONG 127.0.0.1:6379> 远程登录为: [[email protected]

Docker(二)——常用命令(镜像相关命令,容器相关命令:启动,拷贝,目录挂载,删除等等)

上一篇文章写的是Docker的安装和启动,启动了Docker我们可以进行镜像的安装了,镜像就是包含各种应用的操作系统. 一.镜像相关命令 1.搜索镜像 命令行的方式: docker search python #搜索关于python的镜像 在网站搜索: https://hub.docker.com/ #一般在网站上搜索方便看,搜索好之后再安装 搜索关于带python的Docker  2.下载镜像 docker pull centos:centos7.7.1908 #指定下载centos7.7.1

玩转linux第四天之用户及组管理类相关命令(二)

1    前言 本文档主要介绍用户及组管理类相关命令如:useradd .usermod.passwd.userdel.groupadd.groupmod\gpasswd.groupdel.hage,chsh,chfn,.id,w,who,whoami.wck,gourpck.su,并提供相应案例解释其含义. 学习这些基础命令是一个Linux爱好者需要具备的首要条件,让小编带领你们进入Linux的世界看看它的一颦一笑. 读者对象 本文档(本指南)主要适用于以下人员: Linux爱好者 2    

MBR与GPT分区的区别及磁盘分区相关命令

一.MBR分区结构 主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是目前比较流行的一种分区结构.磁盘的0磁道0扇区称为MBR,它的大小是512字节,这个区域被分为三个部分: 第一部分为boot loader(主引导程序),占446字节: 第二部分为Partition table(分区表),即DPT,占64字节,每个分区项占用16个字节,这16个字节中存有活动状态标志.文件系统标识.起止柱面号.磁头号.扇区号.隐含扇区数目(4个字节).分区总扇区数目(4个字节

Docker入门教程(二)命令

Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker系列教程的第一篇文章中,我们了解了Docker的基础知识,知道了它是如何工作以及如何安装的.在这篇文章中,我们将学习15个Docker命令,并通过实践来学习它是如何工作的. 首先,让我们通过下面的命令来检查Docker的安装是否正确: docker info  如果没有找到这条命令,则表示Docke

Shell编程基础教程5--文本过滤、正则表达式、相关命令

5.文本过滤.正则表达式.相关命令    5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令)        简介:            一种用来描述文本模式的特殊语法            由普通字符(例如字符a到z)以及特殊字符(成为元字符,如/.*.?等)组成            匹配的字符串            文本过滤工具在某种情况下都支持正则表达式        基本元字符集及其含义            ^    只匹配行首,例子 ^a 表示匹配以a开头的

&#8203;文件检索相关命令总结

文件检索相关命令 一.概览 1. which:用于查找可执行文件(外部命令.脚本) 2. whereis:查找程序.帮助手册.源文件的位置 3. locate:索引库模糊查找 4. whatis:在whatis数据库里查找完整的单词,相当于man –f. 5. find:精确多条件查找 二.细说        实验环境如下显示,操作系统环境不同,命令执行后显示结果会略有出入,但是不影响命令的用法. [[email protected] ~]$ uname–r                  /

Linux学习笔记(十二)--命令学习(用户创建、删除等)

通过上面的几章学习,我们对linux有了一些了解,现在我们再继续进行下去.... 我们习惯的windows 界面系统中,只要在界面里去下鼠标,填写等这些就可以完成了一个用户创建.删除.添加所属组等,那我们在linux里又是怎么操作的呢??? 下面在学习如何使用命令进行一系列的操作时,我们要先了解一些别的: 在linux系统里除了我们要新建的用户外,还有一些特定的用户,我们称呼它为:伪用户. -----------------------------------------------------