Ant 下build.xml学习

要运行ant需要有一个build.xml,下边就是一个完整的build.xml,我们来详细的解释每一句:

 
<?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>

详细解释

<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任务完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值