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

简介: 在用ant编译项目时,有时会碰到build.xml中所定义的任务找不到的问题: 点击(此处)折叠或打开[root@tivu25 test]# ant -f build.xml local_warBuildfile: build.
在用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的实现。





相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
目录
相关文章
|
安全 网络安全 数据库
达梦数据库 忘记 SYSDBA 密码 处理方法
达梦数据库支持四种安全验证模式:数据库身份验证、基于操作系统的身份验证、外部身份验证和UKEY验证。当忘记SYSDBA密码时,可通过启用操作系统认证模式来恢复:修改`dm.ini`配置文件启用`ENABLE_LOCAL_OSAUTH = 1`,重启服务后,使用`disql / as sysdba`登录修改密码。之后,禁用操作系统认证,恢复原验证模式,确保数据库安全。
4079 0
|
存储 Oracle 关系型数据库
分享几个Oracle数据库日常维护中常见的问题
分享几个Oracle数据库日常维护中常见的问题
336 1
|
自然语言处理 JavaScript 前端开发
vue2 div滚动条下拉到底部时触发事件(懒加载) 超级简易版本的懒加载
【6月更文挑战第4天】导文 vue2 div滚动条下拉到底部时触发事件(懒加载) 超级简易版本的懒加载 文章重点 内容效果展示: 当div拉到底部的时候: 在这里插入图片描述 编辑器返回: 在这里插入图片描述 代码展示 在Vue 2中,可以通过监听div的scroll事件来判断滚动条是否到达了底部。以下是一个简单的示例:
485 2
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
680 1
|
缓存 Android开发
Android Studio 4.22 解决com.android.tools.idea.run.ApkProvisionException
Android Studio 4.22 解决com.android.tools.idea.run.ApkProvisionException
858 0
|
算法 Python
`scipy.optimize`模块提供了许多用于优化问题的函数和算法。这些算法可以用于找到函数的最小值、最大值、零点等。
`scipy.optimize`模块提供了许多用于优化问题的函数和算法。这些算法可以用于找到函数的最小值、最大值、零点等。
|
Java Maven
Maven国内镜像配置
Maven国内镜像配置
20382 1
|
JSON 安全 API
【专栏】四种REST API身份验证方法:基本认证、OAuth、JSON Web Token(JWT)和API密钥
【4月更文挑战第28天】本文探讨了四种REST API身份验证方法:基本认证、OAuth、JSON Web Token(JWT)和API密钥。基本认证简单但不安全;OAuth适用于授权第三方应用;JWT提供安全的身份验证信息传递;API密钥适合内部使用。选择方法时需平衡安全性、用户体验和开发复杂性。
1800 0
|
消息中间件 存储 缓存
【热点】Kafka与传统中间件(MQ,ETL,ESB)的比较
关注公众号“达摩院首座”,了解开发者最真实生活
2966 86
【热点】Kafka与传统中间件(MQ,ETL,ESB)的比较