3招解决ant构建时任务找不到(taskdef cann't be found)的问题

1 篇文章 0 订阅

转载自:http://blog.chinaunix.net/uid-23741326-id-3191369.html


在用ant编译项目时,有时会碰到build.xml中所定义的任务找不到的问题:


  1. [root@tivu25 test]# ant-f build.xml local_war
  2. Buildfile: build.xml

  3. local_war:

  4. BUILD FAILED
  5. /home/haoqf/software/APM/test/build.xml:18: taskdef class com.ibm.team.build.ant.task.LogPublisherTask cannot be found

  6. Total time: 0 seconds
这是因为ant在当前java的classpath中找不到类 LogPublisherTaskLogPublisherTask由 org.apache.tools.ant.Task派生而来),这时候需要重新指定当前的classpath,让它包含 LogPublisherTask所属jar库或者class的路径。有三种方法:
1. 在ant命令行指定:

  1. [root@tivu25 test]# ant -f build.xml local_war -lib /home/haoqf/software/RTC/RTC-BuildSystem-Toolkit-Linux-3.0iFix1/jazz/buildsystem/buildtoolkit/
2. 在build.xml指定:

  1. <?xml version="1.0"encoding="UTF-8"?>

  2. <project name="BVT_CVT" default="local_war">
  3.     
  4.      <target name="local_war">
  5.         <taskdef name="logPublisher" classname="com.ibm.team.build.ant.task.LogPublisherTask">
  6.         <classpath>
  7.             <pathelement location="/home/haoqf/software/RTC/RTC-BuildSystem-Toolkit-Linux-3.0iFix1/jazz/buildsystem/buildtoolkit/"/>
  8.             <fileset dir="/home/haoqf/software/RTC/RTC-BuildSystem-Toolkit-Linux-3.0iFix1/jazz/buildsystem/buildtoolkit/">
  9.                 <include name="**/*.jar"/>
  10.             </fileset>
  11.         </classpath>
  12.         </taskdef>
  13.     
  14.         <logPublisher repositoryAddress="${repositoryAddress}"    />

  15.      </target>
  16. </project>
3. 设定当前环境变量CLASSPATH:

  1. [root@tivu25 test]#export CLASSPATH=$CLASSPATH:/home/haoqf/software/RTC/RTC-BuildSystem-Toolkit-Linux-3.0iFix1/jazz/buildsystem/buildtoolkit/com.ibm.team.build.toolkit_2.2.0.v20110308_0258.jar
其中 com .ibm .team .build .toolkit_2 .2 .0 .v20110308_0258 .jar包含了类 LogPublisherTask的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值