ant 入门的小例子

 对ant早有听闻,就是一直上不了手,今天时间允许,google一下,发现一篇教程很棒,感谢作者,该文地址为:http://www.javaresearch.org/article/66130.htm

前骤:在http://www.apache.org/下载ant最新的版本1.7.1,解压ant(解压缩它,并把它放在一个尽量简单的目录,例如D:/ant-1.7.1,但这么做是有好处的.).

按其模仿操作如下:

一、安装环境:

1、安装J2SE6,设置JAVA_HOME ,PATH中添加JAVA_HOME 目录下的bin目录

2、设置ANT_HOME ,PATH中添加ANT_HOME目录下的bin目录

3、测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到:

Buildfile: build.xml does not exist!
Build failed

成功安装,呵呵

二、具体步骤

1、在D:/建立一个文件夹为antApp,在antApp下建立一个文件夹src,建立一个文件build.xml.

2、在src中建立测试的java文件:HelloWorld.java,其代码如下:(非常简单)

  1. package test.ant;
  2. public class HelloWorld{
  3.  public static void main(String[] args){
  4.   System.out.println("Hello world");
  5.  }
  6. };

3、编写build.xml文件:(这就是关键所在。)

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <project name="HelloWorld" default="run" basedir=".">
  3.  <property name="src" value="src"/>
  4.  <property name="dest" value="classes"/>
  5.  <property name="hello_jar" value="hello1.jar"/>
  6.  <target name="init">
  7.   <mkdir dir="${dest}"/>
  8.  </target>
  9.  <target name="compile" depends="init">
  10.   <javac srcdir="${src}" destdir="${dest}"/>
  11.  </target>
  12.  <target name="build" depends="compile">
  13.   <jar jarfile="${hello_jar}" basedir="${dest}"/>
  14.  </target>
  15.  <target name="run" depends="build">
  16.   <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
  17.  </target>
  18.  <target name="clean">
  19.   <delete dir="${dest}" />
  20.   <delete file="${hello_jar}" />
  21.  </target>
  22.  <target name="rerun" depends="clean,run">
  23.   <ant target="clean" />
  24.   <ant target="run" />
  25.  </target>
  26. </project>

三、对build.xml文件的理解:

  1. <project name="HelloWorld" default="run" basedir=".">
  2. </project>

ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。

  1. <property name="src" value="src"/>
  2. <property name="dest" value="classes"/>
  3. <property name="hello_jar" value="hello1.jar"/>

类似定义程序中的变量。

新建文件夹:(init初始化,最开始做的事件,compile依赖与init)


  1. <target name="init">
  2.  <mkdir dir="${dest}"/>
  3. </target>

每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target,如我们的计划
编译:

  1. <target name="compile" depends="init">
  2.  <javac srcdir="${src}" destdir="${dest}"/>
  3. </target>

做jar包:

  1. <target name="build" depends="compile">
  2.  <jar jarfile="${hello_jar}" basedir="${dest}"/>
  3. </target>

运行:

  1. <target name="run" depends="build">
  2.  <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
  3. </target>

由此可见,核心的动作还是javac、java、jar等jdk自带的命令,只不过把他柔和起来了,呵呵。为了更多一点的功能体现,又加入了两个target
删除生成的文件:

  1. <target name="clean">
  2.  <delete dir="${dest}" />
  3.  <delete file="${hello_jar}" />
  4. </target>

再次运行,这里显示了如何在一个target里边调用其他的target:

  1. <target name="rerun" depends="clean,run">
  2.  <ant target="clean" />
  3.  <ant target="run" />
  4. </target>

四、运行

1、开始-->运行-->cmd进入命令行-->键入:d:

2、进入D盘后,cd antApp

3、敲入ant,ok了,可以看到想要的结果,同时可以使用ant compile 或ant clean 等,单独允许一部分。

好了,学习成功,例子也出来了,感谢作者。有了深入的基础,继续努力。。。。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页