【问题标题】:How to integrate find-sec-bugs in spotbugs?如何在 spotbugs 中集成 find-sec-bugs?
【发布时间】:2021-07-23 23:07:39
【问题描述】:

最近我下载了 findsecbugs-plugin-1.11.0.jar 以便在 spotbugs 中使用它。我把这个jar文件复制到了项目spotbugs(4.1.4)的plugin文件夹中。

我使用 ant 执行 spotbugs。当我运行 ant 目标时,我收到以下消息:

 [spotbugs] Executing SpotBugs FindBugsTask from ant task
 [spotbugs] Running SpotBugs...
 [spotbugs] The following classes needed for analysis were missing:
 [spotbugs]   apply
 [spotbugs]   applyAsInt
 [spotbugs]   test
 [spotbugs]   accept
 [spotbugs] Java Result: 3
 [spotbugs] Classes needed for analysis were missing

你知道我需要哪些额外的 jar 文件吗?

【问题讨论】:

  • 你有没有考虑过使用Maven,或者Ant有什么特别的原因?
  • 不幸的是,我必须使用ant。

标签: java spotbugs find-sec-bugs


【解决方案1】:

很遗憾,Ant 集成没有插件配置。

选项 1:执行任务

您可以运行 Find-Security-Bugs 的命令行版本。您必须使用exec 任务调用该工具。有了这个,您将能够生成 XML、HTML 和 SARIF 报告。

选项 2:Java 任务

作为替代方案,您可以使用 Java 任务调用处理 SpotBugs 的 CLI 接口的类 edu.umd.cs.findbugs.FindBugs2

您可以从使用 AntRunner 的 Maven 实现中获得灵感。

ant.java(classname: "edu.umd.cs.findbugs.FindBugs2", inputstring: getSpotbugsAuxClasspath(), fork: "${fork}", failonerror: "true", clonevm: "false", timeout: "${timeout}", maxmemory: "${maxHeap}m") {
...
}

我不能 100% 确定您可以从 Ant 脚本中定义 pluginArtifacts。您可能需要创建一个小插件来执行此操作。

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 2023-02-01
    • 2016-06-28
    • 2015-09-13
    • 2016-10-25
    • 2022-07-21
    相关资源
    最近更新 更多