playframework-2.0 - 在 Play Framework 2 中使用 FindBugs

标签 playframework-2.0 sbt findbugs

我想将 FindBugs 集成到 Play Framework 2 Java 项目的构建过程中。
这可能吗?如果是这样,使其工作所需的配置步骤是什么?
我假设可以使用 findbugs4sbt ,但我不确定如何设置它。

最佳答案

我昨天刚做了这个,并记录在 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生成 target/scala-2.9.1/findbugs/findbugs.xml .

    由于 findbugs 还分析了从路由和 View 中通过 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>
      )
    )
    

    关于playframework-2.0 - 在 Play Framework 2 中使用 FindBugs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13930791/

    相关文章:

    java - Play Framework 2.1 (Java) eBean @Encrypted 注释错误

    playframework - intellij play framework 2.0.2 配置

    Scala - "companion contains its own main method, which means no static forwarder can be generated"的含义

    java - Findbugs 报告一个不兼容的位掩码错误,但我不知道如何

    java - Sonar 不使用项目 pom.xml 中的 exceptFilterFile

    java - 使用 play 2.0 在电子邮件正文中发送 URL

    java - 使用带有 HTML 表单的复杂对象来玩 Framework 2 Java

    scala - 让测试仅在 SBT 控制台外工作

    java - Intellij 和 sbt 0.13.5 "URI has an authority component"

    java - 使用 Gradle 在 Java 代码中查找错误