<?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="hello1.jar"/> <target name="init"> <mkdir dir="${dest}"/> </target> <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="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> 解释: <?xml version="1.0" encoding="UTF-8" ?> build.xml中的第一句话,没有实际的意义 <project name="HelloWorld" default="run" basedir="."> </project> ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。 <property name="src" value="src"/> 类似程序中的变量,为什么这么做想一下变量的作用 <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${dest}"/> </target> 把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行 过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个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="test.ant.HelloWorld" classpath="${hello_jar}"/> </target> 为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了 新建文件夹: <target name="init"> <mkdir dir="${dest}"/> </target> 为了更多一点的功能体现,又加入了两个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> 好了,解释完成了,下边检验一下你的ant吧 新建一个src的文件夹,然后把HelloWorld.java按照包目录放进去 做好build.xml文件 在命令行下键入ant ,你会发现一个个任务都完成了。每次更改完代码只需要再次键入ant 有的时候我们可能并不想运行程序,只想执行这些步骤中的某一两个步骤,例如我只想重新部署而不想运行,键入 ant build ant中的每一个任务都可以这样调用ant + target name
好了,这样一个简单的ant任务完成了。
原文地址http://www.cnblogs.com/huozhicheng/archive/2010/04/08/2533199.html
转载请注明原文地址: https://www.6miu.com/read-4471.html