目前的Eclipse都集成了ant,但是如何在Eclipse下使用ant呢?如果使用ivy,则需要加入ivy-2.2.0.jar
1.在工程根目录下新建build.xml
project 的常用属性有:
--name : project名称(不必固定)
--default : 在运行该文件的时候默认进入的任务名称
3.在project标签内定义名字跟default一样的任务task:
<target name="all" depends="init,compile"></task>
target的常用属性有:
--name : 本task的名称
--depends : 本task以来于哪些task,意思就是调用本task的时候,会自动执行depends所指定的task,再执行本task
4.同样在project中建立名为init的task,并在其中定制任务:
<target name="init" >
<mkdir dir="build/classes" />
</target>
mkdir的常用属性有:
--dir : 表示要创建目录的路径(包含要创建的目录)
5.同样在project中建立名为compile的task,并在其中定制任务:
<target name="compile">
<javac srcdir="src" destdir="build/classes" >
<classpath>
<fileset dir="WebContent/WEB-INF/lib">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>
</target>
javac的常用属性有:
--srcdir : 表示需要编译的java文件的目标文件夹,一般是项目的src文件夹
--destdir : 表示编译之后的class文件存放的位置,一般是build/classes
如果需要包括一些jar文件,需要通过classpath文件来指定。
build.xml文件<pre name="code" class="html"><span style="font-size:14px;"> <?xml version="1.0" encoding="UTF-8" ?>
[name="HelloWord"]表示工程的名称
[basedir="."]表示根目录
[default="run"]表示默认运行
<project name="HelloWord" default="run" basedir=".">
[定义一个src目录,就像定义变量]
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init">
[创建一个文件classes]
<mkdir dir="${dest}"/>
</target>
[编译]
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
[打jar包]
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
[运行]
<target name="run" depends="build">
<java classname="HelloWord" classpath="${hello_jar}"/>
</target>
[删除生产的文件]
<target name="clean">
<delete dir="${dest}"/>
<delete file="${hello_jar}"/>
</target>
[在target中调用target]
<target name="rerun" depends="clean,run">
<ant target="clean"/>
<ant target="run"/>
</target>
</project>
//在d盘新建一个文件,名为src,在src文件夹里面新建一个HelloWord的java类
public class HelloWord
{
public static void main(String[] args)
{
System.out.println("HelloWord");
}
}
//新建一个文件夹为classes
//把build.xml放在和src同级目录中
//使用命令行进入d盘,输入ant进行编译,编译成功后使用ant+target name方式进行执行,
//例如ant run </span>