因为项目中使用到了Ant,但是对这个不太了解,所以在网上搜了下资料,根据文档在本地写了个HelloWorld做了下测试。
首先必须要有Ant环境,好像值需要解压就行了。然后设置下环境变量,环境变量的设置与Java类似,这里不在啰嗦。设置完成
后,进入dos界面,键入ant,显示下面的界面即说明Ant环境添加成功:
在E盘下建立一个Demo文件夹,主要有如下几个文件需要自己编写:
1.新建一个src文件加,在src中添加一个HelloWorld.java文件:
package test.ant;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,World");
}
}
2.新建一个build.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello.jar"/>
<target name="init">
<mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<target name="jar" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<target name="run" depends="jar">
<java classname="test.ant.HelloWorld" 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>
添加完成之后,进入Dos界面,然后进入到E盘的demo文件夹下,输入ant命令即可完成对HelloWorld程序的编译,并生成一个hello.jar包。
***********************************************************************************************************************************************************
***********************************************************************************************************************************************************
下面介绍下build.xml文件中的配置:
<project name="HelloWorld" default="run" basedir=".">
</project>
Ant的所有内容必须包含在这个里面,name是我们给它取得名字
basedir是工作的根目录,其中的"."代表当前目录
default代表默认要做的事
=================================================================
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello.jar"/>
类似程序中的变量
=================================================================
<target name="init">
<mkdir dir="${dest}"/>
</target>
目的:创建一个文件夹
把我们想做的每一件事情写成一个target,他有一个名字,使用mkdir来创建文件夹。
将第一个target命名为init,其他的target依赖这个初始化target。
=================================================================
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
目的:编译程序,把源程序编译到目标地点
depends是它所依赖的target,在执行这个compile的target之前,ant会先检查init是否已经
被执行过,如果执行过,则直接执行compile,如果没有执行过,就会执行它依赖的target,
然后再执行本身的target。
=================================================================
<target name="jar" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
目的:打jar包
=================================================================
<target name="run" depends="jar">
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
目的:运行jar包内的程序
=================================================================
<target name="clean">
<delete dir="${dest}"/>
<delete file="${hello_jar}"/>
</target>
目的:删除生成的文件
=================================================================
<target name="rerun" depends="clean,run">
<ant target="clean"/>
<ant target="run"/>
</target>
目的:再次运行,这里显示了如果在一个target里边调用其他的target