Java finbugs构造methodGen时出错
我对Java finbugs构造methodGen时出错,java,findbugs,bcel,Java,Findbugs,Bcel,我对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.gen
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,一切都很好
我发现了,但在当前项目中,我们使用了
javac
copiler,新代码没有任何lambda内容。但可能仍然存在编译器版本(jdk版本)问题。
CI和本地PC上的JDK版本有什么不同吗?
您可以尝试在本地PC上添加另一个JDK并运行findbugs来重现该问题