Ant学习心得

来源:互联网 发布:冰封三国杀淘宝 编辑:程序博客网 时间:2024/06/05 03:19
首先介绍一下Ant.Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。得益于Java的跨平台性,Ant也是一个跨平台的工具。

1。Ant详细介绍请参考http://ant.apache.org/

2。Ant的下载,http://jakarta.apache.org/builds/jakarta-ant/release

3。Ant的安装,针对Win32 ,请下载ant的apache-ant-1.6.5-bin.zip。将Ant解压缩到C:\,解压缩完毕后,默认的文件夹名为apache-ant-1.6.5,重新命名为Ant。

4。Ant的配置,在系统的高级里面配置环境变量。用户变量 里增加 ANT_HOME = C:\Ant; 系统变量的 Path 里面增加这样一句 C:\Ant\Bin。这样配置完成后,注销用户重新登录后,Ant就可以使用了。

5。Ant的使用,首先介绍一下Ant的基本用途,Ant可以用来编译Java文件、打包Jar,War、生成Javadoc等。

我现在就具体介绍一下自己学习使用Ant的过程。首先使用Ant就是想要使得编译自己的java程序不再是那么缓慢,不需要使用Eclipse,节省一下不多的内存。那么就先拿一个十分简单的测试项目来试验一下。要使得Ant运行,就要编写build.xml。build.xml要放置于你项目的根目录下。由于执行Ant是这样一个流程,你cmd进入命令行界面,到你的项目根目录下,输入ant,此时ant就会在根目录下寻找build.xml,找到build.xml后根据配置执行任务。那么最重要的工作就是Ant的build.xml的编写。

       build.xml设置了一系列任务,即target。

       例子:<target name="init">

                </target>

target按照习惯一般分为几种:

              usage   打印本脚本的帮助信息(缺省)

        init 初始化信息,变量等

        build 编译

        javadoc 生成javaAPI 文档

        jar 将生成文件打包Jar

        clean 清除过程文件、目录

        all 全部任务执行

从最简单的只执行一个target开始,就是build,这个是我最想用的任务。

以例子开始说:

<?xml version="1.0"?>

<project default="build" basedir=".">

   <property name="appname" value="jspsmartupload" />

   <property name="src" value="src" />

   <property name="build" value="WEB-INF\classes" />

   <property name="myclasspath" value="${base}\WEB-INF\lib" />   

   <target name="build">

       <mkdir dir="${build}" />

       <javac srcdir="${src}" destdir="${build}">

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

       </javac>

   </target>

</project>

    这个build.xml是一个简单项目的Ant脚本是我最开始写的,中间有许多错误。在这个build.xml中 <project default="build" basedir="."> 含义是,默认执行任务为build,根目录为当前目录。<property name="src" value="src" />是定义一些路径变量给后面使用。

<target name="build">

       <mkdir dir="${build}" />

       <javac srcdir="${src}" destdir="${build}">

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

       </javac>

   </target>

这个任务段,就是build任务,首先 mkdir就是创建文件夹,然后进行编译。

但是在写完运行Ant的时候出错了。


为什么会出错,原因是没有引入classpath,修改Ant如下:

<?xml version="1.0"?>

<project default="build" basedir=".">

   <property name="appname" value="jspsmartupload" />

   <property name="src" value="src" />

   <property name="build" value="WEB-INF\classes" />

   <property name="myclasspath" value="${base}\WEB-INF\lib" />   

   <target name="build">

       <mkdir dir="${build}" />

       <javac srcdir="${src}" destdir="${build}">

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

            <classpath>

                <pathelement path="${myclasspath}"/>

                 <fileset dir="./WEB-INF/lib"><include name="**/*.jar"/></fileset>

                <pathelement location="classes"/>

             </classpath>     

       </javac>

   </target>

</project>

再次运行Ant,成功。
原创粉丝点击