ANT构建项目

ApacheAnt主要用于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(或antsayHelloWorld)

进一步了解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]);  
        }  
    }  
}

在使用EclipseJavaIDE时,默认使用了JavaBuilder。每当我们保存文件时,JavaBuilder就会在后台默默地运行,并立即对这些文件进行编译。它是Eclipse重大的特性之一:JavaBuilder允许我们完全跳过编译过程,因为我们的程序总是处于已编译状态,即使它充满了错误亦是如此。因此,我们可以在键入之后立即运行Java程序,无需首先通过一个漫长而乏味的编译过程。该功能为Eclipse用户省去了大量的时间和争论,也是Eclipse能够在程序员中广泛流行的原因之一。

但是如果我们想要做编译文件以外的事情呢?如果我们想要为整个项目创建一个jar文件,并且在每次修改项目时将该文件复制到一个特定的目录呢?如果我们想要所有这些都发生在后台,无需每次都告诉Eclipse呢?我们完全可以坐下来、放松、编写一些代码、喝杯咖啡,让Eclipse在后台处理复杂的构建过程,甚至无需知道这个过程正在后台进行。

听起来是不是像做梦呀?不是做梦。我们可以真正做到这样的事情。我们只需要将一个Ant构建文件作为“构建器”添加到我们的项目即可,这个构建文件中定义了构建过程的所有复杂性。这样做之后,魔术将开始上演。

右击PackageExplorer视图中的项目并单击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

相关推荐