在有eclipse集成环境下ant其实不是很重要,但有些项目需要用到,另外通过eclipse来学习和理解ant是个很好的途径,所以写他demo总结下要点,希望能够帮到大家。
一、本人测试环境eclipse3.6已自动集成了ant环境, 所以就不用单独下载配置ant环境了。
如果没有eclipse集成环境可以自己下载ant http://www.apache.org/ 下载最新的版本
解压ant 后设置ANT_HOME, PATH中添加ANT_HOME目录下的bin目录(如:ANT_HOME:D:apache-ant-1.9.2,PATH:%ANT_HOME%in)
测试方法:开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到
Buildfile: build.xml does not exist!
Build failed
说明已经完成ant的设置。
二、创建一个java项目,AntTestDemo 创建一个测试类HelloAnt.java
1 package com.zdz.ant.test; 2 3 /** 4 * java ant test 5 * @author zheng 6 * 7 */ 8 public class HelloAnt { 9 10 public static void main(String[] args) { 11 System.out.println("Hello ant,by zdz!"); 12 } 13 14 }
在项目根目录下创建一个build.xml文件,内容如下:
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <project name="AntTestDemo" default="run" basedir="."> 3 <property name="src" value="src"/> 4 <property name="dest" value="classes"/> 5 <property name="helloant_jar" value="helloant.jar"/> 6 <target name="init"> 7 <mkdir dir="${dest}"/> 8 </target> 9 <target name="compile" depends="init"> 10 <javac srcdir="${src}" destdir="${dest}"/> 11 </target> 12 <target name="build" depends="compile"> 13 <jar jarfile="${helloant_jar}" basedir="${dest}"/> 14 </target> 15 <target name="run" depends="build"> 16 <java classname="com.zdz.ant.test.HelloAnt" classpath="${helloant_jar}"/> 17 </target> 18 <target name="clean"> 19 <delete dir="${dest}" /> 20 <delete file="${helloant_jar}" /> 21 </target> 22 <target name="rerun" depends="clean,run"> 23 <ant target="clean" /> 24 <ant target="run" /> 25 </target> 26 </project>
为直观起见直接截图上来了
三、右键点击build.xml 运行ant,如下图所示:
运行结果:
Buildfile: D:workspaceAntTestDemouild.xml init: [mkdir] Created dir: D:workspaceAntTestDemoclasses compile: [javac] Compiling 1 source file to D:workspaceAntTestDemoclasses build: [jar] Building jar: D:workspaceAntTestDemohelloant.jar run: [java] Hello ant,by zdz! BUILD SUCCESSFUL Total time: 2 seconds
出来BUILD SUCCESSFUL 和预期结果说明ant跑成功了。
另外有可能会提示 includeantruntime 警告,出现这个警告只要把
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" />
</target>
修改为
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}" includeantruntime="on" />
</target>
也就是添加 includeantruntime="on" 。
这样出来的build结果是有些差别的,如上面就就变成下面结果了
Buildfile: D:workspaceAntTestDemouild.xml init: compile: build: run: [java] Hello ant,by zdz! BUILD SUCCESSFUL Total time: 312 milliseconds