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`登录修改密码。之后,禁用操作系统认证,恢复原验证模式,确保数据库安全。
4223 0
|
4月前
|
IDE API 开发工具
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
这篇文章介绍了如何使用 WakaTime 为 GitHub 个人主页添加动态代码统计,展示编码活跃度,提升专业性。通过注册账号、安装 IDE 插件、配置 GitHub 仓库和使用工作流自动更新 README 文件,实现对多种编程语言的详细统计。
328 1
让 GitHub 个人主页更专业:用 WakaTime 实现动态代码统计
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
自然语言处理 JavaScript 前端开发
vue2 div滚动条下拉到底部时触发事件(懒加载) 超级简易版本的懒加载
【6月更文挑战第4天】导文 vue2 div滚动条下拉到底部时触发事件(懒加载) 超级简易版本的懒加载 文章重点 内容效果展示: 当div拉到底部的时候: 在这里插入图片描述 编辑器返回: 在这里插入图片描述 代码展示 在Vue 2中,可以通过监听div的scroll事件来判断滚动条是否到达了底部。以下是一个简单的示例:
510 2
|
Kubernetes JavaScript 前端开发
k8s学习--chart包开发(创建chart包)
k8s学习--chart包开发(创建chart包)
695 1
|
缓存 Android开发
Android Studio 4.22 解决com.android.tools.idea.run.ApkProvisionException
Android Studio 4.22 解决com.android.tools.idea.run.ApkProvisionException
875 0
|
Java Maven
Maven国内镜像配置
Maven国内镜像配置
20479 1
|
算法 Python
`scipy.optimize`模块提供了许多用于优化问题的函数和算法。这些算法可以用于找到函数的最小值、最大值、零点等。
`scipy.optimize`模块提供了许多用于优化问题的函数和算法。这些算法可以用于找到函数的最小值、最大值、零点等。
|
消息中间件 存储 缓存
【热点】Kafka与传统中间件(MQ,ETL,ESB)的比较
关注公众号“达摩院首座”,了解开发者最真实生活
2976 87
【热点】Kafka与传统中间件(MQ,ETL,ESB)的比较
|
Web App开发 关系型数据库 Java