0

当我尝试运行 jpf basset 程序时出现以下错误。我能够成功构建 jpf-core 和 jpf-actor。有没有人遇到过这个?我错过了什么吗?感谢您的回复/评论。谢谢。

 ~/b/p/j/jpf-core  bin/jpf gov.nasa.jpf.actor.Basset pi.Driver 3
[SEVERE] JPF exception, terminating: error reading class java.lang.reflect.AnnotatedElement
gov.nasa.jpf.classfile.ClassFileException: illegal constpool tag
    at gov.nasa.jpf.classfile.ClassFile.error(ClassFile.java:168)
    at gov.nasa.jpf.classfile.ClassFile.parseCp(ClassFile.java:1009)
    at gov.nasa.jpf.classfile.ClassFile.parse(ClassFile.java:827)
    at gov.nasa.jpf.jvm.ClassInfo.<init>(ClassInfo.java:803)
    at gov.nasa.jpf.jvm.ClassInfo.loadClass(ClassInfo.java:1221)
    at gov.nasa.jpf.jvm.ClassInfo.getResolvedClassInfo(ClassInfo.java:1207)
    at gov.nasa.jpf.jvm.ClassInfo.loadInterfaceRec(ClassInfo.java:1994)
    at gov.nasa.jpf.jvm.ClassInfo.loadInterfaceRec(ClassInfo.java:2000)
    at gov.nasa.jpf.jvm.ClassInfo.getAllInterfaces(ClassInfo.java:2150)
    at gov.nasa.jpf.jvm.JVM.registerStartupClass(JVM.java:531)
    at gov.nasa.jpf.jvm.JVM.registerStartupClasses(JVM.java:510)
    at gov.nasa.jpf.jvm.JVM.initialize(JVM.java:301)
    at gov.nasa.jpf.JPF.run(JPF.java:616)
    at gov.nasa.jpf.JPF.start(JPF.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at gov.nasa.jpf.tool.Run.call(Run.java:76)
    at gov.nasa.jpf.tool.RunJPF.main(RunJPF.java:100)
---------------------- JPF error stack trace ---------------------
gov.nasa.jpf.JPFException: error reading class java.lang.reflect.AnnotatedElement
    at gov.nasa.jpf.jvm.ClassInfo.loadClass(ClassInfo.java:1231)
    at gov.nasa.jpf.jvm.ClassInfo.getResolvedClassInfo(ClassInfo.java:1207)
    at gov.nasa.jpf.jvm.ClassInfo.loadInterfaceRec(ClassInfo.java:1994)
    at gov.nasa.jpf.jvm.ClassInfo.loadInterfaceRec(ClassInfo.java:2000)
    at gov.nasa.jpf.jvm.ClassInfo.getAllInterfaces(ClassInfo.java:2150)
    at gov.nasa.jpf.jvm.JVM.registerStartupClass(JVM.java:531)
    at gov.nasa.jpf.jvm.JVM.registerStartupClasses(JVM.java:510)
    at gov.nasa.jpf.jvm.JVM.initialize(JVM.java:301)
    at gov.nasa.jpf.JPF.run(JPF.java:616)
    at gov.nasa.jpf.JPF.start(JPF.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at gov.nasa.jpf.tool.Run.call(Run.java:76)
    at gov.nasa.jpf.tool.RunJPF.main(RunJPF.java:100)
Caused by: gov.nasa.jpf.classfile.ClassFileException: illegal constpool tag
    at gov.nasa.jpf.classfile.ClassFile.error(ClassFile.java:168)
    at gov.nasa.jpf.classfile.ClassFile.parseCp(ClassFile.java:1009)
    at gov.nasa.jpf.classfile.ClassFile.parse(ClassFile.java:827)
    at gov.nasa.jpf.jvm.ClassInfo.<init>(ClassInfo.java:803)
    at gov.nasa.jpf.jvm.ClassInfo.loadClass(ClassInfo.java:1221)
    ... 15 more
 ~/b/p/j/jpf-core 
4

1 回答 1

0

不知道它是否值得,但我的结果证明是 Java 版本的问题。JPF 库是用 Java 8 编译的,而我试图在 Java 7 中使用它。匹配 java 版本对我来说很有效。

于 2016-04-14T06:01:41.950 回答