mpo*_*den 5 findbugs sbt playframework-2.0
我想将FindBugs集成到Play Framework 2 Java项目的构建过程中.
这可能吗?如果是,那么使其工作所需的配置步骤是什么?
我假设可以使用findbugs4sbt,但我不确定如何设置它.
我昨天刚刚这样做并将其记录在Integrating Findbugs Into a Play Framework 2 Project (Java)中。
这是相关步骤:
从 bitbucket 下载我为 sbt 0.11定制的findbugs4sbt jar并将其放入project/lib
更新:project/plugins.sbt在via中添加插件
addSbtPlugin("de.johoop" % "findbugs4sbt" % "1.1.7")
Run Code Online (Sandbox Code Playgroud)配置 findbugs4sbt 在project/Build.scala:
import de.johoop.findbugs4sbt.FindBugs._
object ApplicationBuild extends Build {
...
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA,
settings = Defaults.defaultSettings ++ findbugsSettings)
}
Run Code Online (Sandbox Code Playgroud)然后你就可以运行sbt findbugs它生成target/scala-2.9.1/findbugs/findbugs.xml.
由于 findbugs 还分析一些由 play 从路由和视图编译的类(并报告一些有关命名约定的问题),因此您可能希望忽略它们(因为无论如何您都无法改进它们)。为此,请使用以下 findbugs4sbt 设置(在project/Build.scala)中将它们从 findbugs 中排除:
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA,
settings = Defaults.defaultSettings ++ findbugsSettings).settings(
findbugsExcludeFilters := Some(
<FindBugsFilter>
<!-- See docs/examples at http://findbugs.sourceforge.net/manual/filter.html -->
<Match>
<Class name="~views\.html\..*"/>
</Match>
<Match>
<Class name="~Routes.*"/>
</Match>
<Match>
<Class name="~controllers\.routes.*"/>
</Match>
</FindBugsFilter>
)
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1189 次 |
| 最近记录: |