我想将FindBugs集成到Play Framework 2 Java项目的构建过程中。
这可能吗?如果是,那么使其工作所需的配置步骤是什么?
我假设可以使用findbugs4sbt,但我不确定如何设置它。
答案 0 :(得分:4)
我昨天刚刚做了这件事并将其记录在Integrating Findbugs Into a Play Framework 2 Project (Java)。
这是相关的步骤:
下载findbugs4sbt jar for sbt 0.11 from bitbucket的自定义版本并将其放入 project/lib
更新:通过
在project/plugins.sbt
添加插件
addSbtPlugin("de.johoop" % "findbugs4sbt" % "1.1.7")
在project/Build.scala
中配置findbugs4sbt:
import de.johoop.findbugs4sbt.FindBugs._
object ApplicationBuild extends Build {
...
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA,
settings = Defaults.defaultSettings ++ findbugsSettings)
}
然后您就可以运行生成sbt findbugs
的{{1}}。
由于findbugs还会分析从路由和视图中播放的一些类(并报告有关命名约定的一些问题),您可能想要忽略它们(因为无论如何都无法改进它们)。为此,使用以下findbugs4sbt设置(在target/scala-2.9.1/findbugs/findbugs.xml
中)将它们从findbugs中排除:
project/Build.scala