我有一个非常奇怪的问题findbugs
:
Error constructing methodGen
org.apache.bcel.classfile.ClassFormatException: Invalid method signature: !+Lsome/packag/and/SomeClass
org.apache.bcel.classfile.Utility.typeOfSignature(Utility.java:1012)
org.apache.bcel.generic.Type.getType(Type.java:181)
org.apache.bcel.generic.MethodGen.<init>(MethodGen.java:258) edu.umd.cs.findbugs.classfile.engine.bcel.MethodGenFactory.analyze(MethodGenFactory.java:90)
edu.umd.cs.findbugs.classfile.engine.bcel.MethodGenFactory.analyze(MethodGenFactory.java:41)
edu.umd.cs.findbugs.classfile.impl.AnalysisCache.analyzeMethod(AnalysisCache.java:369)
edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getMethodAnalysis(AnalysisCache.java:322)
edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysis(ClassContext.java:1002)
edu.umd.cs.findbugs.ba.ClassContext.getMethodAnalysisNoException(ClassContext.java:976)
edu.umd.cs.findbugs.ba.ClassContext.getMethodGen(ClassContext.java:287)
edu.umd.cs.findbugs.detect.FindUseOfNonSerializableValue.analyzeMethod(FindUseOfNonSerializableValue.java:126)
edu.umd.cs.findbugs.detect.FindUseOfNonSerializableValue.visitClassContext(FindUseOfNonSerializableValue.java:94)
edu.umd.cs.findbugs.DetectorToDetector2Adapter.visitClass(DetectorToDetector2Adapter.java:76)
edu.umd.cs.findbugs.FindBugs2.analyzeApplication(FindBugs2.java:1089)
edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:283)
edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:402)
edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:1200)
这个异常来自 CI 服务器,如果我在本地运行 findbugs,但如果我从 Idea 运行 findBugs - 一切都很好。
我找到了这个 bugreport,但是在当前项目中,我们使用javac
了编译器,而新代码没有任何 lambda 东西。