【发布时间】:2020-12-17 17:21:19
【问题描述】:
我尝试使用 Glacier Class Immutable Checker 在 Checker Framework 3.6.0 上不起作用。
我使用 Maven 获得 Glacier 0.1。 (http://mcoblenz.github.io/Glacier/)
然后,我尝试检查示例源,但出现错误。 我可以将 Glacier Class Immutable Checker 与 Checker Framework 3.6.0 一起使用吗?
[jsr308.javac] javac 11.0.7 [jsr308.javac] 错误:在 args [edu.cmu.cs.glacier.GlacierChecker@625732] 上调用类 edu.cmu.cs.glacier.GlacierAnnotatedTypeFactory 的构造函数时出现 InvocationTargetException;根本原因:java.lang.NoSuchMethodError: 'javax.lang.model.element.AnnotationMirror org.checkerframework.javacutil.AnnotationUtils.fromClass(javax.lang.model.util.Elements, java.lang.Class)' [jsr308.javac]; Checker 框架崩溃了。请报告崩溃。 [jsr308.javac] 异常:java.lang.reflect.InvocationTargetException; java.lang.reflect.InvocationTargetException [jsr308.javac] 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) [jsr308.javac] 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [jsr308.javac] 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [jsr308.javac] 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeChecker.invokeConstructorFor(BaseTypeChecker.java:300) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeVisitor.createTypeFactory(BaseTypeVisitor.java:249) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeVisitor.(BaseTypeVisitor.java:217) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeVisitor.(BaseTypeVisitor.java:206) [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierVisitor.(GlacierVisitor.java:54) [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierChecker.createSourceVisitor(GlacierChecker.java:8) [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierChecker.createSourceVisitor(GlacierChecker.java:5) [jsr308.javac] 在 org.checkerframework.framework.source.SourceChecker.initChecker(SourceChecker.java:820) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeChecker.initChecker(BaseTypeChecker.java:111) [jsr308.javac] 在 org.checkerframework.framework.source.SourceChecker.typeProcessingStart(SourceChecker.java:771) [jsr308.javac] 在 org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:167) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:828) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1418) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1375) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:973) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:311) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43) [jsr308.javac] 引起:java.lang.NoSuchMethodError: 'javax.lang.model.element.AnnotationMirror org.checkerframework.javacutil.AnnotationUtils.fromClass(javax.lang.model.util.Elements, java.lang.Class) ' [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierAnnotatedTypeFactory.(GlacierAnnotatedTypeFactory.java:46) [jsr308.javac] ... 24 更多 [jsr308.javac]
[jsr308.javac] 基础异常:java.lang.NoSuchMethodError: 'javax.lang.model.element.AnnotationMirror org.checkerframework.javacutil.AnnotationUtils.fromClass(javax.lang.model.util.Elements, java.lang.Class) '; java.lang.NoSuchMethodError:'javax.lang.model.element.AnnotationMirror org.checkerframework.javacutil.AnnotationUtils.fromClass(javax.lang.model.util.Elements,java.lang.Class)' [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierAnnotatedTypeFactory.(GlacierAnnotatedTypeFactory.java:46) [jsr308.javac] 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) [jsr308.javac] 在 java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [jsr308.javac] 在 java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [jsr308.javac] 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeChecker.invokeConstructorFor(BaseTypeChecker.java:300) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeVisitor.createTypeFactory(BaseTypeVisitor.java:249) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeVisitor.(BaseTypeVisitor.java:217) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeVisitor.(BaseTypeVisitor.java:206) [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierVisitor.(GlacierVisitor.java:54) [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierChecker.createSourceVisitor(GlacierChecker.java:8) [jsr308.javac] 在 edu.cmu.cs.glacier.GlacierChecker.createSourceVisitor(GlacierChecker.java:5) [jsr308.javac] 在 org.checkerframework.framework.source.SourceChecker.initChecker(SourceChecker.java:820) [jsr308.javac] 在 org.checkerframework.common.basetype.BaseTypeChecker.initChecker(BaseTypeChecker.java:111) [jsr308.javac] 在 org.checkerframework.framework.source.SourceChecker.typeProcessingStart(SourceChecker.java:771) [jsr308.javac] 在 org.checkerframework.javacutil.AbstractTypeProcessor$AttributionTaskListener.finished(AbstractTypeProcessor.java:167) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:828) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:132) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1418) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.JavaCompiler.flow(JavaCompiler.java:1375) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:973) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:311) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.main.Main.compile(Main.java:170) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.Main.compile(Main.java:57) [jsr308.javac] 在 jdk.compiler/com.sun.tools.javac.Main.main(Main.java:43) [jsr308.javac] 1个错误
【问题讨论】:
标签: java immutability checkstyle effective-java