SpotBugs 是使用Gradle构建的。获得它的推荐方法是简单地运行
[hidecontent type="logged" desc="隐藏内容:登录后可查看"]
gradlew
(或gradlew.bat
)包装器,它将自动下载并根据需要运行正确的版本(使用 中的设置gradle/wrapper/gradle-wrapper.properties
)。
要查看构建选项列表,请运行gradle tasks
(或gradlew tasks
)。该build
任务将执行完整的构建和测试。
要为 Eclipse 构建 SpotBugs 插件,您需要创建文件,其中包含一个指向 Eclipse 安装根目录的eclipsePlugin/local.properties
属性(请参见示例),然后运行构建。仅准备 Eclipse 环境,运行. 另请参阅详细步骤。eclipseRoot.dir
.travis.yml
./gradlew eclipse
$SPOTBUGS_HOME/lib/spotbugs-ant.jar
到 Ant 安装的 lib 子目录中。
笔记
强烈建议您将 Ant 任务与它随附的 SpotBugs 版本一起使用。我们不保证 Ant 任务 Jar 文件可以与任何版本的 SpotBugs 一起工作,而不是与它一起包含的版本。
<taskdef
resource="edu/umd/cs/findbugs/anttask/tasks.properties"
classpath="path/to/spotbugs-ant.jar" />
build.xml
,它应该使用指定的类来执行任务。
添加任务定义后,您可以定义一个使用 spotbugs 任务的目标。这是一个可以添加到build.xml
Apache BCEL 库的示例。
<property name="spotbugs.home" value="/export/home/daveho/work/spotbugs" />
<target name="spotbugs" depends="jar">
<spotbugs home="${spotbugs.home}"
output="xml"
outputFile="bcel-sb.xml" >
<auxClasspath path="${basedir}/lib/Regex.jar" />
<sourcePath path="${basedir}/src/java" />
<class location="${basedir}/bin/bcel.jar" />
</spotbugs>
</target>
$SPOTBUGS_HOME
。请参阅安装。
此目标将在 上执行 SpotBugs bcel.jar
,这是由 BCEL 的构建脚本生成的 Jar 文件。(通过使其依赖于“jar”目标,我们确保库在运行 SpotBugs 之前已完全编译。)SpotBugs 的输出将以 XML 格式保存到名为bcel-sb.xml
. 辅助 Jar 文件 Regex.jar 添加到辅助类路径,因为它被主 BCEL 库引用。指定了源路径,以便保存的错误数据将具有对 BCEL 源代码的准确引用。
[daveho@noir]$ ant spotbugs
Buildfile: build.xml
init:
compile:
examples:
jar:
spotbugs:
[spotbugs] Running SpotBugs...
[spotbugs] Bugs were found
[spotbugs] Output saved to bcel-sb.xml
BUILD SUCCESSFUL
Total time: 35 seconds
一个可选的嵌套元素,指定要分析的类。class 元素必须指定一个位置属性,该属性命名要分析的存档文件(jar、zip 等)、目录或类文件。可以将多个类元素指定为单个 spotbugs 元素的子元素。
除了指定类元素之外,或者不指定类元素,SpotBugs 任务还可以包含一个或多个指定要分析的文件的文件集元素。例如,您可以使用文件集来指定应该分析目录中的所有 jar 文件。
low
,则不使用置信度来过滤错误。如果设置为medium
(默认值),低置信度问题将被抑制。如果设置为high
,则仅报告高置信度错误。xml
(默认值),则输出为 XML 格式。如果设置为“xml:withMessages”,则输出为 XML 格式并增加了人类可读的消息。(如果您计划使用 XSL 样式表生成报告,则应使用此格式。)如果设置为“html”,则输出为 HTML 格式(默认样式表为 default.xsl)。如果设置为text
,则输出为临时文本格式。如果设置为emacs
,则输出为 Emacs 错误消息格式。如果设置为xdocs
,则输出为用于 Apache Maven 的 xdoc XML。text
,则 sort 属性指定报告的错误是否按类排序。默认为true
。true
,SpotBugs 会打印有关正在分析哪些类以及正在运行哪些错误模式检测器的诊断信息。默认为false
。min
、default
或之一max
。请参阅命令行选项 <running.html#command-line-options>:了解有关设置分析级别的更多信息。effort="min"
。effort="max"
。auxClasspath
或sourcePath
属性。有关如何创建项目的信息,请参阅运行 SpotBugs 。false
.true
在运行 SpotBugs 时发生错误时将设置为的属性的名称。true
可选属性,它指定属性的名称,如果 SpotBugs 在分析的程序上报告任何警告,将设置该属性。userPreferencesFile
为第一个参数将意味着后面的一些选项将覆盖它们,因为最后一个参数将意味着它们将覆盖之前的一些选项)。此选项背后的基本原理是重用 SpotBugs Eclipse 项目设置来执行命令行。true
.SpotBugs 可以独立使用,还可以多种集成使用,包括:
[/hidecontent]