Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从findbugs隐藏非java类_Java_Maven 2_Scala_Findbugs - Fatal编程技术网

从findbugs隐藏非java类

从findbugs隐藏非java类,java,maven-2,scala,findbugs,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.det

我有一个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) 使用检测器edu.umd.cs.findbugs.detect.FindUnrelatedTypesSingericContainer分析some.scala.Class时出现异常 java.lang.NullPointerException 位于edu.umd.cs.findbugs.classfile.engine.ClassParserUsingASM$1$2.visitEnd(ClassParserUsingASM.java:319) 位于org.objectweb.asm.ClassReader.accept(未知源) 位于edu.umd.cs.findbugs.asm.FBClassReader.accept(FBClassReader.java:44) 位于org.objectweb.asm.ClassReader.accept(未知源) 位于edu.umd.cs.findbugs.classfile.engine.ClassParserUsingASM.parse(ClassParserUsingASM.java:93) 位于edu.umd.cs.findbugs.classfile.engine.ClassParserUsingASM.parse(ClassParserUsingASM.java:414) 位于edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:65) 位于edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:39) 位于edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:214) 位于edu.umd.cs.findbugs.ba.XFactory.getXClass(XFactory.java:581) 位于edu.umd.cs.findbugs.ba.AnalysisCacheToAnalysisContextAdapter.setAppClassList(AnalysisCacheToAnalysisContextAdapter.java:319) 位于edu.umd.cs.findbugs.FindBugs2.createAnalysisContext(FindBugs2.java:785) 位于edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:187) 位于edu.umd.cs.findbugs.findbugs.runMain(findbugs.java:348) 位于edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1057)
这不是一个真正的解决方案,但FindBugs也应该适用于Scala生成的类文件,因此我建议将这些错误报告给FindBugs团队。当然,在大多数情况下,对FindBugs的分析可能对Scala类没有多大帮助(因为编译器的强大魔力),但至少FindBugs不应该崩溃。我希望FindBugs迟早会被扩展,以给予Scala类一种特殊的待遇(但如果没有人抱怨,这种情况就不会发生:-)

您是否分离了源目录/src/main/java和src/main/scalaFindbugs操作的是.class文件,而不是源文件。问题是findbugs在分析scalac生成的*.class文件时创建了1000个NPE。事实上,findbugs主干中的bug已经修复:我不确定是否有办法让findbugs maven插件使用findbugs主干构建。@Geoff Reedy谢谢!我不得不自己对1.3.9代码进行修复,但这似乎让findbugs感到高兴。希望FindBugs2.0很快就会面世。