ANT入门

一、准备工作

  1.安装ant,将其解压在某个分区中,如c:\ant

  2.在环境变量PATH中添加c:\ant\bin目录

  3.在cmd中测试ant,看提示是否出现,如图:

cmd

二、简单测试

  1.新建一个测试目录,如d:\hello,在其下建立子目录src,以便放源文件

  2.新建一个测试源文件HelloWorld.java,放在src目录下

package cn.hrmzone;
public class HelloWorld{
	public static void main(String[] args) {
		System.out.println("HelloWorld");
	}
}

  3.新建一个build的xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!--以上为xml声明,定义文档的编码为utf-8-->
<!--定义新的项目,名气随便去,default为默认要做的事情,basedir为工作的根目录。及src、dest的上级目录-->
<project name="HelloWorld" default="run" basedir="." >
	<!--定义src源文件夹,dest目标class文件夹(嵌套的包名文件夹会自动建立)jar为build新jar包名称-->
	<property name="src" value="${basedir}\src" />
	<property name="dest" value="classes" />
	<property name="hello_jar" value="hello1_jar" />
	<!--把想做的每件事情写成一个target,depends为他所依赖的target-->
	<!--初始化工作,建立目标文件夹-->
	<target name="init">
		<mkdir dir="${dest}" />
	</target>
	<!--编译,将src目录下的java文件编译到dest目录下-->
	<target name="complie" depends="init">
		<javac srcdir="${src}" destdir="${dest}" />
	</target>
	<!--build工作,打包-->
	<target name="build" depends="complie">
		<jar jarfile="${hello_jar}" basedir="${dest}" />
	</target>
	<!--run-->
	<target name="run" depends="build">
		<java classname="cn.hrmzone.HelloWorld" classpath="${hello_jar}" />
		<java classname="com.desktophrm.HelloDesktop" classpath="${hello_jar}" />
	</target>
	<!--删除生成的文件、文件夹-->
	<target name="clean">
		<delete dir="${dest}" />
		<delete file="${hello_jar}" />
	</target>
	<target name="rerun" depends="clean,run" >
		<ant target="clean" />
		<ant target="run" />
	</target>
</project>

  其中有很多注释,详细说明了build文件的结构和各元素的作用。

  4.运行:ant build;(注意build文件,不带扩展名xml,仅用文件名)可以看到在hello下建立了一个classes文件夹,其内部按照HelloWorld的包名,新建了两层文件夹,并将生成的类文件放在其下

  5.如果只想build下面的某个项目(target)可以使用命令:ant build targetName。如ant build run,会出现运行结果

ant-run

三、合并构建

  1.如果有两个或多个源文件目录,比如加入了junit目录,需要将两个源文件目录同时ant。

  2.示例又新建了一个source目录,中有HelloDesktop.java源文件,现在要一起构建。

package com.desktophrm;
public class HelloDesktop{
	public static void main(String[] args) {
		System.out.println("HelloDesktop");
	}
}

  3.修改build.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!--以上为xml声明,定义文档的编码为utf-8-->
<!--定义新的项目,名气随便去,default为默认要做的事情,basedir为工作的根目录。及src、dest的上级目录-->
<project name="HelloWorld" default="run" basedir="." >
	<!--定义src源文件夹,dest目标class文件夹(嵌套的包名文件夹会自动建立)jar为build新jar包名称-->
	<property name="src" value="${basedir}\src" />
	<property name="source" value="${basedir}\source" />
	<property name="dest" value="classes" />
	<property name="hello_jar" value="hello1_jar" />
	<!--把想做的每件事情写成一个target,depends为他所依赖的target-->
	<!--初始化工作,建立目标文件夹-->
	<target name="init">
		<mkdir dir="${dest}" />
	</target>
	<!--编译,将src目录下的java文件编译到dest目录下-->
	<target name="complie" depends="init">
		<javac srcdir="${src}" destdir="${dest}" />
		<javac srcdir="${source}" destdir="${dest}" />
	</target>
	<!--build工作,打包-->
	<target name="build" depends="complie">
		<jar jarfile="${hello_jar}" basedir="${dest}" />
	</target>
	<!--run-->
	<target name="run" depends="build">
		<java classname="cn.hrmzone.HelloWorld" classpath="${hello_jar}" />
		<java classname="com.desktophrm.HelloDesktop" classpath="${hello_jar}" />
	</target>
	<!--删除生成的文件、文件夹-->
	<target name="clean">
		<delete dir="${dest}" />
		<delete file="${hello_jar}" />
	</target>
	<target name="rerun" depends="clean,run" >
		<ant target="clean" />
		<ant target="run" />
	</target>
</project>

注意:与测试中的那个build文件有小区别

  4.运行:ant build,会看到classes文件夹下多了一个com的嵌套目录,内有HelloDesktop类文件

  5.测试:ant build run,输出运行结果,构建成功。

ant-run-2

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Go back to top