目前的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>