Ant学习---第二节:Ant添加文件夹和文件夹集的使用

时间:2023-03-09 22:08:21
Ant学习---第二节:Ant添加文件夹和文件夹集的使用

一、创建 java 项目(Eclipse 中),结构图如下:

1、创建 .java 文件,代码如下:

package com.learn.ant;

public class HelloWorld {

    public static void main(String[] args) {
for(String arg : args)
System.out.println("Hello World" + arg);
} }

2、创建 build.xml 文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project default="create">
<target name="create">
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
</target>
</project>

3、运行测试,会创建出一个 build 文件夹:

Ant学习---第二节:Ant添加文件夹和文件夹集的使用

4、删除锁创建的文件夹,修改 .xml 文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project default="create">
<target name="create">
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<delete dir="build"/>
</target>
</project>

5、测试

二、添加文件夹和拷贝文件

1、创建文件夹,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project default="init">
<target name="init">
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
</project>

2、拷贝文件夹,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project default="copySrc">
<target name="init">
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
<!-- depends表示依赖的目标 -->
<target name="copySrc" depends="init">
<!-- todir 表示目标目录 -->
<copy todir="build/src">
<!-- 通过文件集将src 下的 .java 文件拷贝到 build/src -->
<fileset dir="src" includes="**/*.java"></fileset>
</copy>
</target>
</project>

3、运行测试,项目结构图如下:

Ant学习---第二节:Ant添加文件夹和文件夹集的使用

4、通过应用外部文件集标签来拷贝文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project default="copySrc">
<!-- fileset数据类型定义了一组文件 -->
<fileset id="src.path" dir="src">
<!-- include 是用逗号分隔的,需要包含的文件模式列表 dir表示fileset 的基目录-->
<include name="**/*.*"/>
<!-- excludes 是用逗号分隔的需要派出的文件模式列表 -->
<exclude name="**/Test*"/>
</fileset>
<target name="init">
<delete dir="build"/>
<!-- mkdir标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名 -->
<mkdir dir="build"/>
<mkdir dir="build/src"/>
<mkdir dir="build/classes"/>
<mkdir dir="build/dist"/>
</target>
<!-- depends表示依赖的目标 -->
<target name="copySrc" depends="init">
<!-- todir 表示目标目录 -->
<copy todir="build/src">
<!-- 通过 refid 可以引用外部标签 -->
<fileset refid="src.path"></fileset>
</copy>
</target>
</project>