ANT构建项目

Apache Ant主要用于Java项目的构建。为什么要使用Ant:
   1)项目构建不是简单的编译,各种资源需要合理构建,例如有的类需要压缩成jar文件,有的文件需要放在指定位置,有时候需要使用配置文件。这些工作是繁杂琐碎的,手工处理难免出错。
   2)诸如Myeclipse之类的IDE工具可以方便地部署web项目,但是脱离了这些集成工具,例如在需要部署项目的机器上没有这种集成工具,或者目标机器的操作系统不支持这种工具,怎么办?这时ant是很好的工具。

Ant的构件文件是基于XML编写的,默认名称为build.xml,关键元素为project、target、property和task。安装Ant(http://ant.apache.org/) 配置环境变量。写一个简单的ant程序,作为初步了解。
<?xml version="1.0"?>
<project name="helloWorld" default="sayHelloWorld">
       <target name="sayHelloWorld">
              <echo message="Hello,Amigo"/>
       </target>
</project>

命令行输入:ant(或 ant sayHelloWorld)

进一步了解ant工程,以下是一个简单的ant工程目录:
helloworld/ 
    -----build.xml 
    +----src/ 
         +----org/ 
             ----Main.java

build.xml
<?xml version="1.0" encoding="UTF-8"?>  
<project name="helloworld" default="compile" basedir=".">  
    <description>My first complete build file, including packaging and executing a Java program.</description>
	
    <property name="src" value="src"/>  
    <property name="dest" value="build/classes"/>
    <property name="lib" value="build/lib"/>
    <property name="np_jar" value="${lib}/AntDemo.jar"/>
	
    <target name="init" description="Create the output directories">  
        <mkdir dir="${dest}"/>  
        <mkdir dir="${lib}"/>  
    </target>  
  
    <target name="compile" depends="init" description="Compiles into the output directories">  
        <javac srcdir="${src}" debug="true" destdir="${dest}" includeantruntime="false"></javac>  
    </target>  
  
    <target name="package" depends="compile" description="Creates the JAR package files">  
        <jar destfile="${np_jar}" basedir="${dest}"></jar>  
    </target>  
  
    <target name="clean" description="Delete the output directories">  
        <delete dir="${dest}"/>  
        <delete dir="${lib}"/>  
    </target>  
      
    <target name="exec" depends="compile" description="Running programs under Ant">  
        <java classname="org.Main" classpath="${dest}"> 
            <arg value="world"/>  
        </java>  
    </target>  
</project>

Main.java
public class Main {  
    public static void main(String args[]) {  
        for(int i=0; i<args.length; i++) {  
            System.out.println(args[i]);  
        }  
    }  
} 


在使用 Eclipse Java IDE 时,默认使用了 Java Builder。每当我们保存文件时,Java Builder 就会在后台默默地运行,并立即对这些文件进行编译。它是 Eclipse 重大的特性之一:Java Builder 允许我们完全跳过编译过程,因为我们的程序总是 处于已编译状态,即使它充满了错误亦是如此。因此,我们可以在键入之后立即运行 Java 程序,无需首先通过一个漫长而乏味的编译过程。该功能为 Eclipse 用户省去了大量的时间和争论,也是 Eclipse 能够在程序员中广泛流行的原因之一。
但是如果我们想要做编译文件以外的事情呢?如果我们想要为整个项目创建一个 jar 文件,并且在每次修改项目时将该文件复制到一个特定的目录呢?如果我们想要所有这些都发生在后台,无需每次都告诉 Eclipse 呢?我们完全可以坐下来、放松、编写一些代码、喝杯咖啡,让 Eclipse 在后台处理复杂的构建过程,甚至无需知道这个过程正在后台进行。
听起来是不是像做梦呀?不是做梦。我们可以真正做到这样的事情。我们只需要将一个 Ant 构建文件作为“构建器” 添加到我们的项目即可,这个构建文件中定义了构建过程的所有复杂性。这样做之后,魔术将开始上演。
右击 Package Explorer 视图中的项目并单击 Properties(或者:Eclipse菜单->Project->Properties),展开 Builders 并单击 New,向项目添加一个新的构建器MyAntBuilder
参考资料: http://blog.csdn.net/cheungmine/article/details/7526146

Ant下的WEB应用服务器控制
在Tomcat的lib目录下有一个catalina-ant.jar包,这个包将Tomcat的管理操作(启动、关闭等)以API的形式完全开放给Ant,因此完全可以通过这个catalina-ant.jar包来实现Ant脚本对Tomcat应用服务器的操作控制。
具体操作参考: http://wenku.baidu.com/view/bd6b9ba5f524ccbff1218472.html

猜你喜欢

转载自xin3336019-sina-com.iteye.com/blog/1876642