[英]Findbugs with Gradle plugin doesn't work in Java 9
我正在將我的項目( Gradle
多項目)從Java 8遷移到Java 9(到目前為止不使用模塊)。 我使用Gradle 4.3和Findbugs Gradle插件 - 我在gradle.build
文件中apply plugin: 'findbugs'
。 在依賴中我有
compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
compile group: 'com.google.code.findbugs', name: 'annotations', version: '3.0.1'
以前,使用java 8
( open-jdk
)一切正常,但是當我使用java 9
( oracle - build 9.0.1+11
)時,執行gradle check
后得到以下異常( com.example.custom.MyClass
是一個我的代碼庫中的類):分析期間發生以下錯誤:
Error scanning com/example/custom/MyClass for referenced classes
java.lang.IllegalArgumentException
At org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
At org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
At edu.umd.cs.findbugs.asm.FBClassReader.<init>(FBClassReader.java:35)
At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:48)
At edu.umd.cs.findbugs.classfile.engine.asm.ClassReaderAnalysisEngine.analyze(ClassReaderAnalysisEngine.java:34)
At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:262)
At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:75)
At edu.umd.cs.findbugs.classfile.engine.ClassInfoAnalysisEngine.analyze(ClassInfoAnalysisEngine.java:38)
At edu.umd.cs.findbugs.classfile.impl.AnalysisCache.getClassAnalysis(AnalysisCache.java:262)
At edu.umd.cs.findbugs.FindBugs2.buildReferencedClassSet(FindBugs2.java:774)
At edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:222)
At org.gradle.api.plugins.quality.internal.findbugs.FindBugsExecuter.runFindbugs(FindBugsExecuter.java:39)
At java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
At java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
At java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
At java.base/java.lang.reflect.Method.invoke(Method.java:564)
At org.gradle.process.internal.worker.request.WorkerAction.run(WorkerAction.java:100)
At org.gradle.process.internal.worker.request.WorkerAction.runThenStop(WorkerAction.java:83)
At java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
At java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
At java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
At java.base/java.lang.reflect.Method.invoke(Method.java:564)
At org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
At org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
At org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:146)
At org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:128)
At org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
At org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
At org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
At java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
At java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
At org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
At java.base/java.lang.Thread.run(Thread.java:844)
這適用於我的gradle項目中的每個類(以及Hibernate JPA 2 Metamodel生成器生成的每個類)。 我想這將與拼圖模塊有關。 但是我沒有聲明任何module-info.java
,所以我想為整個代碼庫創建了一個自動模塊,所有內容都可以從任何地方訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.