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