ant的简单使用

来源:互联网 发布:全国高校名单数据库 编辑:程序博客网 时间:2024/05/18 01:04

在前面了解了ant工具的一些概念,下面进行简单的使用。

ant是一种构建工具,与make类似,但它是由java实现的,跨平台。可以到apache官网:http://www.apache.org/进行下载。配置环境变量很简单,和配置jdk之类的差不多,把下下来的ant解压到某个目录,让环境变量指向bin目录即可。

下面给了一个非常简单的例子,编写一个简单程序,编译它们,然后打成jar包,并运行:

HelloWorld.java:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. package test.ant;  
  2. public class HelloWorld{  
  3. public static void main(String[] args){  
  4.    System.out.println("Hello world1");  
  5. }  
  6. }  


执行ant需要一个build.xml配置文件,它描述了ant需要执行的程序,具体操作等所有信息,build.xml:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <project name="HelloWorld" default="run" basedir=".">  
  3. <property name="src" value="src"/>  
  4. <property name="dest" value="classes"/>  
  5. <property name="hello_jar" value="hello1.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="${hello_jar}" basedir="${dest}"/>  
  14. </target>  
  15. <target name="run" depends="build">  
  16.    <java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>  
  17. </target>  
  18. <target name="clean">  
  19.    <delete dir="${dest}" />  
  20.    <delete file="${hello_jar}" />  
  21. </target>  
  22. <target name="rerun" depends="clean,run">  
  23.    <ant target="clean" />  
  24.    <ant target="run" />  
  25. </target>  
  26. </project>  

简要介绍一下上面这些标签的含义:

第一句:<?xml version="1.0" encoding="UTF-8" ?>,这个就不多说了,版本,编码见得太多了。


<project name="HelloWorld" default="run" basedir=".">
</project>

name是你给它取的名字,basedir代码工作的根目录,.代表当前目录.default代表默认要做的事情,即执行哪个操作。

<property name="src" value="src"/>  类似变量。name定义变量的名称,value定义变量的值。

 

<target name="compile" depends="init">
   <javac srcdir="${src}" destdir="${dest}"/>
</target>

你要执行的一个操作叫做一个target,name是定义名称,depends是它执行所依赖的target,比如这里,在执行compile之前,会先检查init是否曾经被执行,如果执行过就直接执行compile,否则先执行它依赖的init target,然后在执行compile target。

上面每个target从名字可以看出它们分别的作用:

新建文件夹:
<target name="init">
<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="test.ant.HelloWorld" 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>

好,这个简单的build文件就算完成了,然后新建一个src文件夹,把源程序按照这里的test.ant包目录放进src里面。把build文件放到与src同一目录下,在命令行定位到build.xml目录下,键入ant命令即可,如果只想单独执行某个target,键入 ant  target name,如:ant build.

ant也并没有IDE工具好用,但它也有其特点:

在服务器部署的时候,因为它小巧,方便,只需要一个build.xml,到任何一台服务器只需简单修改一些设定和目录就可以运行。

在linux或者unix部署的时候,就发挥作用了。

当有些维护人员不懂编程时,你只需给它build文件,让他执行简单命令即可。

0 0
原创粉丝点击