2017-03-09 47 views
1

我有很奇怪的問題與findbugsfinbugs錯誤構建個MethodGen

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服務器獲取,如果我localy運行FindBugs的,但如果我從理念上運行的FindBugs - 一切都很好。

我找到this bugreport,但是在目前的項目中我們使用javac複製器,新代碼沒有任何lambda的東西。

回答

1

但是可能還有編譯器版本(jdk版本)問題。 CI和本地PC上的JDK版本是否有區別? 您可以嘗試重現在本地PC上添加另一個JDK並運行findbugs的問題。