关闭

在Ant中引用外部的任务

发表于:2007-5-15 11:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:blundblade    来源:51testing

Ant为使用者提供了大量的任务,更为可贵的是,它允许使用者使用其它开发者开发的任务。在Ant主页上就有一个外部任务列表:http://ant.apache.org/external.html。只要你愿意,你也可以很快写出一个自己的任务来,看看本系列的“编写自定义任务,轻松扩展Ant”就行了。

<>在Ant中引用外部任务有两种情况: 
<!--[if !supportLists]-->一、<!--[endif]-->Ant定义的可选任务

这些任务可以说是半官方的任务了,任务实际上已经写好了,不过该任务依赖的资源主要就是jar文件没有跟Ant一起发布。例如FTP任务就是这种情况。打开文档<ant install dir>\docs\manual\install.html#librarydependencies,原来还要到jakarta.apache.org下载1.1.0或更高版本的commons-net 和2.0.8或更高版本的jakarta-oro。注意这是针对Ant1.6说的,不同的Ant版本使用的外部库可能不一样。把下载到的commons-net-1.1.0.jar放到<ant install dir>\lib目录下,OK,你现在就可以使用FTP了:

<><ftp server="ftp.apache.org"  
        remotedir="incoming"     
        userid="anonymous"      
        password="me@myorg.com"
        depends="yes"  >   
            <fileset dir="htdocs/manual"/> 
</ftp> <><!--[if !supportLists]-->

二、<!--[endif]-->一般的外部任务
这些任务同样需要下载所需的jar文件,放到<ant install dir>\lib目录下,同时在build.xml中需要定义这些外部任务。在http://ant.apache.org/external.html上有一个Timer任务,在下载jar后我们可以这样引用

build.xml:

<?xml version="1.0" ?>

<project name="testTimer" default="test">

       <taskdef name="timer" classname="de.jeckle.AntExtension.Timer"/>

<>        <target name="test">
              <timer verbose="true">

                     <echo>test1</echo>

              </timer>

              <timer name="timer2">

                     <echo>test2</echo>

                     <timer name="timer3" verbose="true">

                            <echo>test3</echo>

                     </timer>

                     <echo>test4</echo>

              </timer>

       </target>

  <></project>
 

最后说说设置类路径的几种办法:

<!--[if !supportLists]-->1.  <!--[endif]-->把jar文件放到Ant安装目录的lib目录下,Ant会自动装载

<!--[if !supportLists]-->2.  <!--[endif]-->设置环境变量CLASSPATH,包含要引用的jar文件

<!--[if !supportLists]-->3.  <!--[endif]-->在TaskDef中指定classpath

<taskdef name="timer" classname="de.jeckle.AntExtension.Timer" classpath=”../lib/timer.jar”/>


《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号