ant 的 Findbugs 问题

2023-12-01

查找错误:

[findbugs] Executing findbugs from ant task
[findbugs] Running FindBugs...
[findbugs] java.lang.NoClassDefFoundError: org/apache/bcel/classfile/ClassFormtException
[findbugs] Caused by: java.lang.ClassNotFoundException: org.apache.bcel.classfile.ClassFormatException
[findbugs]     at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
[findbugs]     at java.security.AccessController.doPrivileged(Native Method)
[findbugs]     at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[findbugs]     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
[findbugs]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
[findbugs]     at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
[findbugs] Could not find the main class: edu.umd.cs.findbugs.FindBugs2.  Program will exit.
[findbugs] Exception in thread "main"

尽管我将 findbugs 和必要的 jar 文件保留在所需的文件夹中,但我在使用 ant 执行 findbugs 时遇到了这个问题。

我使用 findbugs 1.3.2 和 bcel 5.2。

如何解决这个问题?

[findbugs] Output saved to bugs/reports/findbugs.xml

The 查找错误文档陈述如下:

Note

强烈建议您将 Ant 任务与其附带的 FindBugs 版本一起使用。我们不保证 Ant 任务 Jar 文件适用于除包含该文件之外的任何版本的 FindBugs。

您没有指出您正在使用哪个版本的 ANT 任务......

我建议使用像这样的依赖管理器ivy处理复杂的类路径,如下所示:

<project name="demo" default="findbugs" xmlns:ivy="antlib:org.apache.ivy.ant">

    <target name="init" description="Use ivy to manage ANT tasks">
        <ivy:cachepath pathid="findbugs.path">
            <dependency org="com.google.code.findbugs" name="findbugs-ant" rev="2.0.1" conf="default"/>
        </ivy:cachepath>

        <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpathref="findbugs.path"/>
    </target>

    <target name="findbugs" depends="init">
        ..
        <findbugs ..
        ..
    </target>

</project>

最后,还值得考虑使用Sonar。 Sonar ANT 任务为您管理所有 findbugs 依赖项,还运行 checkstyle 和 PMD 等其他工具。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ant 的 Findbugs 问题 的相关文章

随机推荐

  • OCaml 中奇怪的模块加载问题

    我有两个文件 myUnionFind ml and myUnionFind test ml 这两个文件都位于same directory myUnionFind ml open Batteries module type MyUnionFi
  • 使用嵌入式 Solr 服务器现在是否已经过时且不推荐?

    我需要向在 tomcat 上运行的 Java Web 应用程序添加搜索功能 以及同一台计算机上的数据库 由于我计划在同一台机器上使用 Solr 但应该使用哪种实现 我认为嵌入式更可取 因为我需要从同一台机器添加数据 所以通过 HTTP 添加
  • 从 Angular 2 FormGroup 获取所有验证错误

    鉴于此代码 this form this formBuilder group email Validators required EmailValidator isValid hasAcceptedTerms false Validator
  • Windows 批处理脚本复制最近 x 分钟内修改的文件

    我是脚本新手 我想在批处理脚本中复制最近 x 分钟修改的文件 在 Linux 中 有一个简单的命令可以查找并复制 zip最近 x 分钟修改的文件 find user log log mmin 180 type f cut d f 5 xar
  • 如何从非 gui 线程 C# 中创建表单

    我有我的主 GUI 从那里我在一个单独的线程中启动一个长时间运行的方法 现在 我需要在这个单独的线程中创建并显示一个新表单 但是 当我显示这个新表单时 所有控件都卡住了 窗口显示 没有响应 解决这个问题的最佳方法是什么 regards Th
  • 应用程序启动时要添加到主活动的第一个片段

    假设我正在创建一个Android应用程序有一个Navigation drawer和一组fragments 当用户点击其中的一个选项时Navigation drawer相应的fragment已加载 该应用程序只有一个activity Main
  • 有没有办法检测调试器是否附加到 C# 的另一个进程?

    我有一个程序Process Start 另一个程序 N 秒后将其关闭 有时我选择将调试器附加到已启动的程序 在这些情况下 我不希望进程在 N 秒后关闭 我希望主机程序检测是否连接了调试器 因此它可以选择不关闭它 澄清 我不想检测调试器是否附
  • Java ProcessBuilder:环境设置正确,但仍然找不到命令

    我在我正在开发的 Eclipse 插件上使用 Java 的 ProcessBuilder 时遇到问题 我在调用 start 方法之前正确设置了环境 但是当我运行程序时 它总是返回命令未找到错误 当我通过命令行调用该命令时 它工作得很好 当我
  • Apache POI 散点图创建

    Currently generating a scatterplot using POI however the chart comes out weird The topleft one is generated using my cod
  • CKAN 错误:服务器错误 500

    When I visit a page of a CKAN site I get an error Server Error with status 500 我该如何找出问题所在 我如何获得帮助 这个错误可能意味着很多事情 从技术上讲 服务
  • 如何调试 WebKit2GTK+ 扩展

    我正在尝试让 WebKit2GTK 扩展正常工作 这是一个简单的扩展 在创建页面时只会打印到控制台 这是我的项目结构 bin images include lib webextension libwebextension so libweb
  • 检查是否安装了VLC

    我从 C 应用程序调用 vlc 来播放视频 我需要一种方法来持续检查 VLC 是否已安装 我已尝试检查注册表项 但根据您的 Windows 版本或体系结构 它们似乎不一致或不可靠 有人有什么建议 建议吗 我想说你在尝试检测这一点时做了不必要
  • Javascript 点击事件触发两次,即使使用 stopPropagation

    我有一组这样的项目
  • 如何从 Gitlab CD 中的应用程序存储库链接部署脚本/存储库?

    假设您有 Repo A与通用应用程序 Repo B使用 Ansible 部署脚本 在 RepoA CI CD 运行程序中 我想从 Repo B 运行 Ansible 脚本 最好 最简单的方法是什么 我正在尝试的是仅为 RepoB 创建一个额
  • 跨多个 Windows 10 虚拟桌面的持久窗口?

    我有带有多个窗口的 C WPF 程序 我添加了对 Windows 10 桌面的支持 但用户希望在桌面之间移动时某些窗口保留在屏幕上 例如 如果在第一个桌面上打开窗口 A 并且他们翻转到第二个桌面 他们希望窗口 A 保留在新桌面上的相同位置
  • 在javascript中快速合并许多连续的多边形

    有谁知道合并数千个连续多边形的方法 我一直在我的原型中使用 turf 的 union 函数来执行此操作 但随着多边形列表的增加 所需的时间变得太慢 我希望 瞄准一个需要亚第二次的解决方案 我就是这样做的 const turfUnion re
  • 理解 Swift 中的单例

    我正在尝试在 SWIFT 中创建一个单例 这就是我到目前为止所做的 class Global class var sharedInstance Global struct singleton static let instance Glob
  • 每n个点求和

    我有一个向量 我需要对每个向量求和n数字并返回结果 这就是我目前计划做的方式 有更好的方法来做到这一点吗 v 1 100 n 10 sidx seq int from 1 to length v by n eidx c sidx 1 2 l
  • 忽略标准输入中的退格键

    我想制作一个程序 强制用户输入文本 但不允许他删除任何内容 在 C 中执行此操作的简单方法是什么 我唯一拥有的是 c getchar EOF c b 这是行不通的 有任何想法吗 POSIX unix 版本 include
  • ant 的 Findbugs 问题

    查找错误 findbugs Executing findbugs from ant task findbugs Running FindBugs findbugs java lang NoClassDefFoundError org apa