0

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

我使用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 文件吗?

4

1 回答 1

0

不幸的是,Ant 集成没有插件配置。

选项 1:执行任务

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

选项 2:Java 任务

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

您可以从使用 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。您可能必须创建一个小插件才能做到这一点。

于 2021-08-03T05:07:20.223 回答