隐藏findbugs中的非java类

sbl*_*ndy 6 java maven-2 scala findbugs

我有一个混合的scala/java项目 - 主要是java.我想在我的java代码上使用Findbugs,但是scala类给它带来了麻烦.所以我想将它们排除在Findbugs之外.到目前为止,我已经尝试在排除过滤器中列出scala类,但这没有帮助.我正在使用maven codehaus findbugs插件版本2.3.1.

我得到的例外主要采取以下形式:

Exception analyzing some.scala.Class using detector edu.umd.cs.findbugs.detect.FindUnrelatedTypesInGenericContainer
  java.lang.NullPointerException
    At edu.umd.cs.findbugs.classfile.engine.ClassParserUsingASM$1$2.visitEnd(ClassParserUsingASM.java:319)
    At org.objectweb.asm.ClassReader.accept(Unknown Source)
    At edu.umd.cs.findbugs.asm.FBClassReader.accept(FBClassReader.java:44)
    At org.objectweb.asm.ClassReader.accept(Unknown Source)
    At edu.umd.cs.findbugs.classfile.engine.ClassParserUsingASM.parse(ClassParserUsingASM.java:93)
    At edu.umd.cs.findbugs.classfile.engine.ClassParserUsingASM.parse(ClassParserUsingASM.java:414)
    At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:65)
    At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:39)
    At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:214)
    At edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:581)
    At edu.umd.cs.findbugs.ba.AnalysisCacheToAnalysisContextAdapter.setAppClassList(AnalysisCacheToAnalysisContextAdapter.java:319)
    At edu.umd.cs.findbugs.FindBugs2.createAnalysisContext(FindBugs2.java:785)
    At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:187)
    At edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:348)
    At edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1057)

Lan*_*dei 3

这并不是真正的解决方案,但 FindBugs 也应该适用于 Scala 生成的类文件,因此我建议向 FindBugs 团队报告这些错误。当然,在大多数情况下,FindBugs 的分析对于 Scala 类可能没有多大帮助(因为编译器的魔力很大),但至少 FindBugs 不应该崩溃。我希望 FindBugs 迟早会得到扩展,为 Scala 类提供特殊待遇(但如果没有人抱怨,这种情况就不会发生:-)