1.输入输出
1.1 输入
不能执行交互式操作。只能采取下面的形式:
1.1.1 变量
① 其中已经预定义的变量有:
属性 | 解释 |
ant.file | 该构建文件的完整地址 |
ant.version | 安装的 Apache Ant 的版本 |
basedir | 构建文件的基目录的绝对路径,作为 **project** 元素的 **basedir** 属性 |
ant.java.version | Ant 使用的 JAVA 语言的软件开发工具包的版本 |
ant.project.name | 项目的名字,具体声明为 **project** 元素的 **name** 属性 |
ant.project.default-target | 当前项目的默认目标 |
ant.project.invoked-targets | 在当前项目中被调用的目标的逗号分隔列表 |
ant.core.lib | Ant 的 jar 文件的完整的地址 |
ant.home | Ant 安装的主目录 |
ant.library.dir | Ant 库文件的主目录,特别是 ANT_HOME/lib 文件夹 |
② 可以使用系统定义的变量,如file.Separator。
③ 可以自定义 —— 使用property 来定义。
1.1.2 从build.properties读取属性
需两步:
① 建立build.properties文件(名字可以换)
② 在build.xml中添加 <property file=”build.properties”/>
然后在build.xml中使用变量就和自定义<property/>一样了。
注:这样使用变量:${变量名称} 。
1.2 输出
<!-- echo 4个属性:message:输出的信息 file:?? append:true/false,是否追加 level:?? -->
e.g.1 <echo >要打印的字符:^_^;还可以打印变量:${file.Separator}</echo>
e.g.2 <echo message="Hello,Ant!" file="logs/system.log" append="true"/>
2.对文件夹的操作
增:<mkdir dir="build"/>
删:
①删除某个目录:<delete dir="dir"/>
②删除所有备份目录或空目录:<delete includeEmptyDirs="true"/>
<fileset dir="." includes="**/*.bak"/>
</delete>
移动:
移动某个目录到另一个目录: <move todir="new_dir">
<fileset dir="old_dir"/>
</move>
复制: <copy todir="../new_dir/dest_dir">
<fileset dir="src_dir"/>
</copy>
3.对文件的操作
增:<mkdir></mkdir>
删:<delete file="dir/file.txt"/>
移动:
①移动单个文件:<move file="src_file.txt" tofile="dest_file.txt"/>
②移动文件到另外的目录:<move file="src_file.txt" todir="move_dir"/>
复制:
①复制单个文件:<copy file="file.txt" tofile="copy.txt"/>
②将文件复制到另一个的目录:<copy file="file.txt" todir="../other_dir"/>
4.通配符
? - 只匹配一个字符
* - 匹配零个或多个字符
** - 匹配零个或多个目录递归
5.java操作
ant很常见的一个应用就是编译、打包、测试java程序。
<javac srcdir="src_dir" destdir="$dest_dir">
<jar jarfile="jar_pkg.jar" basedir="${build}"/>
<java classname="classname_with_no_dotclass">