一环境
1:ANT的项目的地址为 http://ant.apache.org/ 下载zip包 apache-ant-1.7.0-bin.zip
2:解压到本地的某个目录下
3:设置环境变量 ANT_HOME D:\apache-ant-1.7.0 (这个是你解压的路径)
4:在path 中添加 %ANT_HOME%/bin; 这里%ANT_HOME%=D:\apache-ant-1.7.0
5:ctrl+r 输入cmd 在命令行中输入 ant
Buildfile: build.xml does not exist! 正确的说明尚没有配置build.xml
二:eclipse下ant 的小案例
1:新建/项目/java项目
2:下一步 输入HelloWorld
3:在项目中新建文件夹 src ,classes 一个作为java源代码目录一个作为 class文件保存目录或者说目标目录dest
4:在eclipse下右键项目名称,选择属性/构建路径/源代码 a:构件路径的源文件夹 添加文件夹为 选择HelloWorld/src
缺省输出的文件夹为HelloWorld/classes 确定
5:在src中建立文件
HelloWorld.java
public class HelloWorld { public static void main(String[] args) { System.out.println("test for gui !"); } }
build.xml
<?xml version="1.0" encoding="UTF-8"?> <!--ant是工程的名称--> <project name="HelloWorld" default="run" basedir="."> <!--定义属性--> <property name="src" value="src"/> <property name="dest" value="classes" /> <!--init 初始化 建立dest定义的class目录--> <target name="init"> <mkdir dir="${dest}" /> </target> <!--compile只有一个任务--> <target name="compile" depends="init" > <javac srcdir="${src}" destdir="${dest}" /> </target> <target name="build" depends="compile"> <jar jarfile="${hello_jar}" basedir="${dest}" /> </target> <target name="run" depends="build" > <java classname="HelloWorld" classpath="${hello_jar}" /> </target> </project>
6:在eclipse下右键项目名称 选择构建器/新建/ant 构建
浏览工作空间 P ${workspace_loc:/HelloWorld/src/build.xml} 构建文件就似乎build.xml所在路径
浏览工作空间 P ${workspace_loc:/HelloWorld} 项目HelloWorld的路径
确定
7:在eclipse下右键项目名称 选择构建器 将ant以外的构建器去掉(不打钩)
8:选择HelloWorld.java 运行方式选择ant 构建成功!
9:我将我新建的构建器名称更改为ant,选择项目HelloWorld构建该项目
Buildfile: E:\webapps\HelloWorld\src\build.xml init: compile: [javac] Compiling 1 source file to E:\webapps\HelloWorld\classes build: [jar] Building jar: E:\webapps\HelloWorld\${hello_jar} run: [java] test for gui ! BUILD SUCCESSFUL Total time: 3 seconds
为什么有时候编译HelloWorld.java不是打印以上信息呢?郁闷
我理解的时候你重复对HelloWorld进行运行的操作,因为没有改动,所以ant对没有更改的部分没有进行“编译”
当你更改了HelloWorld.java文件是可以看到
public class HelloWorld { public static void main(String[] args) { System.out.println("test for gui ! beyondsanli"); } }
又可以看到ant的构建信息了!