Java构建工具-Ant

Java构建工具-Ant

sf2gis@163.com

2015年11月13日

 

1  目标:批量化工程管理。与C的make,qt的qmake相同的功能。

2 原理:脚本管理。使用xml定义脚本。

3 流程:定义build.xml脚本,由ant执行。

由于Eclipse自带Ant,不用单独下载Ant。

Ant在Eclipse/plugins/目录中。

3.1 创建Java工程:创建Java Application,定义执行文件。

//HelloAnt.java

package lee;

 

public classHelloAnt {

 

      public static void main(String[] args) {

           // TODO Auto-generated method stub

           System.out.println("Hello,Ant");

      }

 

}

3.2 定义build.xml

<?xmlversion="1.0" encoding="UTF-8" ?>

<projectname="AntDemo1" default="run" basedir=".">

      <property name="src"value="src" />

      <property name="dest"value="classes" />

      <property name="helloant_jar"value="helloant.jar" />

      <target name="init">

           <mkdir dir="${dest}"/>

      </target>

      <target name="compile"depends="init">

           <javac srcdir="${src}"destdir="${dest}" includeantruntime="on" />

      </target>

      <target name="build"depends="compile">

           <jarjarfile="${helloant_jar}" basedir="${dest}" />

      </target>

      <target name="run"depends="build">

           <javaclassname="lee.HelloAnt" classpath="${helloant_jar}" />

      </target>

      <target name="clean">

           <delete dir="${dest}"/>

           <deletefile="${helloant_jar}" />

      </target>

      <target name="rerun"depends="clean,run">

           <ant target="clean"/>

           <ant target="run" />

      </target>

</project>

3.3 执行:build.xml-》右键-》Run As-》Ant Build。

 

4 方法:build.xml配置

4.1 安装

Eclipse自带的Ant没有帮助文件,可以到官网下载manual或bin压缩包。

在bash中调用ant –version可以验证是否安装成功。

参考:http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html

http://www.cnblogs.com/hoojo/archive/2013/06/14/java_ant_project_target_task_run.html

4.2 组织结构:xml节点定义

4.2.1项目根节点project:代表一个项目,一个xml文件中可以包含多个project。

名称name:工程的名称,可以被任务获取。

默认任务组default:默认执行的target名称。

工程路径basedir:build的根路径。

<projectname="AntDemo1" default="run" basedir=".">

4.2.2变量定义property:以name,value的方式定义一个变量,以${变量名}的方式引用。

<propertyname="dest"value="classes" />

      <target name="compile"depends="init">

           <javac srcdir="${src}"destdir="${dest}"includeantruntime="on" />

</target>

4.2.3任务组target:指定一组任务。可以指定name和依赖(depends)的target的name。

任务组的name可以被调用和输出。

执行任务组时将先执行依赖任务组。

      <target name="compile"depends="init">

           <javac srcdir="${src}"destdir="${dest}" includeantruntime="on" />

      </target>

4.2.4任务:独立的操作,ant可以执行java中所有的工作。包括编译,运行,打包,部署等。

任务是最基本的执行单元,ant将调用相应的命令行执行。

      <target name="run"depends="build">

           <javaclassname="lee.HelloAnt" classpath="${helloant_jar}" />

      </target>

将调用java命令,效果与手动调用相同:

所有的任务列表参见:/manual/tasklist.html

4.3 常用任务

4.3.1创建目录mkdir:将调用bash的mkdir命令。dir指定要生成的目录。

           <mkdir dir="${dest}"/>

4.3.2编译javac:srcdir指定源目录,destdir指定输出目录,includeantruntime指定是否在编译是指定ant路径,默认是yes,推荐使用false(使用系统路径)。

           <javac srcdir="${src}"destdir="${dest}" includeantruntime="on" />

参考:http://blog.csdn.net/alongwilliam/article/details/8768502

4.3.3打包jar:jarfile指定输出jar文件名,basedir指定输出目录。

           <jarjarfile="${helloant_jar}" basedir="${dest}" />

4.3.4运行java:调用java执行,classname指定java的main类名,classpath指定包含路径/Jar。

           <javaclassname="lee.HelloAnt" classpath="${helloant_jar}" />

4.3.5删除文件或目录delete:指定目录dir,指定文件file。

           <delete dir="${dest}"/>

           <deletefile="${helloant_jar}" />

4.3.6指定其它任务组ant:目录任务组为target。

<anttarget="clean" />

5 示例:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弗里曼的小伙伴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值