在常量池中获取无效的字节标签:19
我正在创建一个 web 服务并收到类似的错误
i am creating one webservice and getting error like
org.apache.tomcat.util.bcel.classfile.ClassFormatException:常量池中的无效字节标记:19.
org.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19.
我使用的是 tomcat 8.0,java 版本是 1.8.0.152.
i am using tomcat 8.0 and java versoin is 1.8.0.152.
推荐答案
标签类型为 19 的常量池条目是模块描述符;请参阅 JVM 规格表 4.4-A一个>.我认为您已尝试在使用 Java 9(或更高版本)编译器编译的类上使用 BCEL:
A constant pool entry with tag type 19 is a module descriptor; see JVM spec table 4.4-A. I think you have attempted to use BCEL on a class compiled with a Java 9 (or later) compiler:
- 您使用的 BCEL 版本不理解标签.
- 无论如何,该类都不会加载到 Java 8 JVM 中.模块仅在 Java 9 中引入,并且类文件的主要版本号对于 Java 8 JVM 来说应该太新了.
相关文章