最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Ant学习总结

来源:动视网 责编:小OO 时间:2025-10-02 15:39:46
文档

Ant学习总结

Ant学习总结分类:java2011-12-0409:52224人阅读评论(0)收藏举报一、Ant介绍Ant是Java的生成工具,是Apache的核心项目;直接在apache官网下载即可;Ant类似于Unix中的Make工具,都是用来编译、生成;Ant是跨平台的,而Make不能;Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目;下载地址: http://ant.apac
推荐度:
导读Ant学习总结分类:java2011-12-0409:52224人阅读评论(0)收藏举报一、Ant介绍Ant是Java的生成工具,是Apache的核心项目;直接在apache官网下载即可;Ant类似于Unix中的Make工具,都是用来编译、生成;Ant是跨平台的,而Make不能;Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目;下载地址: http://ant.apac
Ant学习总结 

分类: java 2011-12-04 09:52 224人阅读 评论(0) 收藏 举报 

一、Ant介绍

Ant是Java的生成工具,是Apache的核心项目;直接在apache官网下载即可;

Ant类似于Unix中的Make工具,都是用来编译、生成;

Ant是跨平台的,而Make不能;

Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目;

下载地址: http://ant.apache.org/bindownload.cgi  

二、Ant配置

在Ant安装之前需要安装好JDK,并配置好JAVA_HOME;

Ant配置:

1.新建环境变量ANT_HOME:值为ANT的主目录;

2.在path中配置%ANT_HOME%/bin;

配置完成之后,打开命令行,输入ant,当出现:

Buildfile: build.xml does not exist!

Build failed

时说明配置完成;

三、Ant入门

ant的默认生成文件为build.xml;输入ant后,ant会在当前目录下搜索是否有build.xml,如果有,则执行;当然也可以自定义生成文件,通过ant -f a.xml即可指定a.xml为生成文件;

ant的生成文件是xml文件,整体结构为:

[html] view plaincopyprint?

1.  

2.  

3.      

4.      

5.  

project是生成文件的根元素,表示一个工程;

target是project的子元素,表示一个任务;一个project中可以定义多个target元素,表示多个任务;

default属性表示默认执行的target,如果ant命令没有指定target,则执行default的target;

ant targetname;则会执行此target,而忽略default设置的target;

注意:不能有两个相同的targetname;

代码举例:创建并删除hello目录;

[html] view plaincopyprint?

1.  

2.  

3.      

4.      

5.          

6.      

7.      

8.          

9.      

10.  

四、Ant的XML元素详解

1.元素

是Ant生成文件的根元素;一般形式如:

default的值是默认执行的target名;

basedir是指定基准目录,一般都是basedir="."

name是指工程名字;

2.元素

是project元素的子元素,在project元素中能够有多个target;一般形式如下:

name表示target的名称;

depends中填写其他target名称(可以有多个名称,用逗号分割),表示只有targetA完成之后才能够做此target,如果执行此target,则会先执行A;

if的值表示一个属性名,只有设置了该属性名,才能执行此target;

unless的值表示一个属性名,只有没有设置该属性名,才能执行此target;

3.元素

是project的子元素;property用于定义属性,一般形如:

(1)

如果要使用此property,则需要${pname};类似于表达式语言;

(2) 通过此属性文件导入属性;

如果单纯想使用$,则通过$$表示;

五、Task介绍

在Ant中Task是target的子元素,即一个target中可以有多个task;而Task分为:

(1)核心Task;

(2)可选Task;

(3)自定义Task;

下面介绍一些常用的核心Task;

1.

用于单纯输出,一般形如:

     

举例:hello

2.

用于编译java文件,一般形式如下:

srcdir是编译此文件夹下或子文件夹下的全部java文件;

destdir是编译后的class文件放置路径;

classpath指定第三方类库;

3.

运行java类,一般形式如下:

    【

classname用于指定运行的类名称;

fork="yes"表示另起一个JVM来执行java命令,而不是中断ANT命令,因此fork必须为yes;

4.

打包成jar包;一般形式如下:

    

            

    

destfiie的值为jar包的名称;一般为${dest}/main.jar;

basedir的值是需要打成jar包的目录;一般为${classes}

manifest表示设置META-INF;

5.

创建目录,可以多层创建,比如a\\b\\c,则可以连续创建,一般形式如下:

6.

删除目录,一般形式如下:

可以删除a目录下的b目录;

可以删除文件;

7.

时间戳,一般形式如下:

接下来可以使用${DSTAMP}进行调用当前时间;

8.

复制文件,一般形式如下:

file是源文件;

tofile是目标文件;

9.

移动文件,一般形式如下:

file是源文件;

tofile是目标文件;

10.

 用于替换字符串,类似于String的replace操作,一般形式如下:

file表示要执行替换的文件;

token表示被替换的字符串;

value表示替换的字符串;

代码举例:一般项目中的ant结构

[html] view plaincopyprint?

1.  

2.      

3.      

4.      

5.      

6.          

7.      

8.      

9.        help -打印帮助信息  

10.        compile -编译java源文件  

11.        run -运行程序  

12.        build -打成jar包  

13.        clean -清楚全部编译生成文件  

14.      

15.      

16.          

17.          

18.          

19.      

20.      

21.          

22.              

23.          

24.      

25.      

26.          

27.          

28.          

29.              

30.                  

31.              

32.          

33.      

34.      

35.          

36.          

37.      

38.  

总结一下:

[html] view plaincopyprint?

1.  

2.  

3.      

4.      

5.      

9.      

10.      

15.          

16.          

17.      

23.          

24.              

25.              

26.          

27.      

32.          

33.      

38.          

39.              

40.          

41.      

42.      

46.      

47.      

52.          

53.      

57.              

58.          

59.      

.          

65.              

66.      

69.              

70.          

71.      

74.        Hello world  

75.      

81.          

82.          

83.          

84.          

85.      

86.  

五、在Eclipse中使用Ant

在Eclipse中虽然没有内置创建Ant的生成文件,但是可以通过配置完成;

(1)点击  window-->preferences-->editors-->file associations;

(2)在File types中创建一个build.xml,并将associated editor的默认项设置为ant editor即可;

当在项目中创建一个build.xml时,这个文件就是ant的生成文件;

 

 

六、模式匹配

在Ant中有一些基本的模式匹配的功能,比如:

*表示任意字符串,**表示任意数量的目录;

(1)*.java,表示任意的java文件;

(2)*/*.java表示当前目录的任意java文件;

(3)**/*.java表示当前目录结构下的任意java文件;

 

    

    

    

表示包含src目录下的所有java和txt文件,排除文件名包含Test的文件;

 

举例:将java文件拷贝到dest文件夹下;

[html] view plaincopyprint?

1.  

2. style="white-space:pre">      

3. style="white-space:pre">          

4. style="white-space:pre">      

5.  

 

七、自定义任务

 自定义任务类似于JSP中的自定义标签;

步骤:

(1)继承org.apache.tools.Task;

(2)覆写public void execute()throws BuildException;

(3)在类中添加的属性即为任务标签的属性;

(4)在build.xml中声明任务

举例:复制文件;

[java] view plaincopyprint?

1.package org.tools;  

2.  

3.import java.io.BufferedReader;  

4.import java.io.File;  

5.import java.io.FileInputStream;  

6.import java.io.FileWriter;  

7.import java.io.IOException;  

8.import java.io.InputStreamReader;  

9.import java.io.PrintWriter;  

10.  

11.import org.apache.tools.ant.BuildException;  

12.import org.apache.tools.ant.Task;  

13.public class SimpleTask extends Task{  

14.    private File file;  

15.    private File tofile;  

16.    public File getFile() {  

17.        return file;  

18.    }  

19.    public void setFile(File file) {  

20.        this.file = file;  

21.    }  

22.    public File getTofile() {  

23.        return tofile;  

24.    }  

25.    public void setTofile(File tofile) {  

26.        this.tofile = tofile;  

27.    }  

28.    @Override  

29.    public void execute() throws BuildException {  

30.        try {  

31.            PrintWriter out = new PrintWriter(new FileWriter(tofile));  

32.            BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file)));  

33.            String line = null;  

34.            while((line=in.readLine())!=null){  

35.                out.println(line);  

36.            }  

37.            out.close();  

38.            in.close();  

39.        } catch (IOException e) {  

40.            e.printStackTrace();  

41.        }  

42.          

43.    }  

44.      

45.}  

build.xml

[html] view plaincopyprint?

1.  

2.      

3.          

4.      

 

 

 

文档

Ant学习总结

Ant学习总结分类:java2011-12-0409:52224人阅读评论(0)收藏举报一、Ant介绍Ant是Java的生成工具,是Apache的核心项目;直接在apache官网下载即可;Ant类似于Unix中的Make工具,都是用来编译、生成;Ant是跨平台的,而Make不能;Ant的主要目的就是把你想做的事情自动化,不用你手动一步一步做,因为里面内置了javac、java、创建目录、复制文件等功能,所以可以直接点击Ant文件,即可编译生成你的项目;下载地址: http://ant.apac
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top