超越建立工具的障碍:使用“Ant”来编写通用任务

ZDNet软件频道 时间:2003-04-11 作者:BUILDER.COM |  我要评论()
本文关键词:
在前一章节里,我们已经介绍了基于Java建立工具的Ant,这一章节将告诉你如何编写自己的任务,最后,你就可以把Ant集成到你的项目系统中。
本文译自Builder.com前一章节里,我们已经介绍了基于Java建立工具的Ant,Ant是专用于Java项目平台,能够用纯Java来开发,它能够运行于Java安装的平台,即体现了它的跨平台功能。

然而,跨平台功能意味着Ant无法充分调用内部的工具。虽然诸如Make的建立工具能够开发过程中调用所有的内部功能模块,但Ant却只能依赖于其相应的任务。绝大部分的建立工具软件都能通过Ant的任务来调用内部功能,但如果受限于其本身的任务,你就不得不编写自己的任务。幸运的是,编写一个任务的方法很简单。这一章节将告诉你如何编写自己的任务,最后,你就可以把Ant集成到你的项目系统中。

开始

编写一个Ant的任务需要编写一个类来继承Task类。这个类本身很简单,它包含了一个设置方法来设置类的值和一个名为execute ()的方法。每一个设置的值都与配置的任务标签相一致。例如,标签<tstamp/>没有使用设置方法,但标签<property name="dist" value="dist"/>会使用名为setName () and setValue ()的设置方法。

方法可以调用不同的参数类型。在通常情况下,程序中接受字符型的数据类型,同样也可以接受为其他的数据类型。对于布尔量的数据类型,Ant可以判断到它是否是一个设置方法。如果在建立配置中属性的值是”yes”,”true”,”on”, Ant会自动的将这个布尔量设置为true,否则它的缺省值为false。

让我们看一下Listing A中的一个简单的任务。范例中涉及到几个可选择的属性:message, message_count, and show_message。如果show_message是true,任务就会以message_count次数的把文本信息传递到控制台。正如你所看到的,每一个方法都可以调用不同的数据类型作为参数。最后,任务通过调用log ()方法来输出结果。

为了编译这一任务,我们必须先编译编写好的类。可以通过使用SimpleTask.java来实现,我们只需运行这样的命令 :ant install。

假设JAR文件已经正确安装,我们现在可以编写其他的类。第一步,我们需要告诉Ant调用这一个类的接口。在建立配置中,增加如下的行:

<taskdef name="Simple" classname="SimpleTask"/>

这就告诉Ant已经从SimpleTask类中定义一个名为Simple的任务。

一旦定义了任务,你必须使用它。你可以在建立配置中调用Simple。为了检测这一过程,我们建立一个名为SimpleTarget的目标,如Listing C所示。

你已经知道,如果show_message设置为布尔量,simpleTask会多次的传出多条信息。所以当你运行ant SimpleTarget,你可以参见的Listing D.输出。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134