可能的重复: 读取和显示Java .class版本的工具
我正在调试
" .class文件中的版本号错误"
错误在java,有办法让我检查哪个版本的.class文件?
我使用的是JRE1.5.0_6,但我的JDK版本是1.6.0_13。
我在eclipse中编译兼容模式设置为1.5,我认为可以工作…
可能的重复: 读取和显示Java .class版本的工具
我正在调试
" .class文件中的版本号错误"
错误在java,有办法让我检查哪个版本的.class文件?
我使用的是JRE1.5.0_6,但我的JDK版本是1.6.0_13。
我在eclipse中编译兼容模式设置为1.5,我认为可以工作…
你在命令行(一个叫MyClass的类)上寻找这个:
在Unix / Linux:
javap -verbose MyClass | grep "major"
在Windows上:
javap -verbose MyClass | findstr "major"
你想要结果中的主要版本。以下是一些示例值:
Java 1.2使用主要版本46 Java 1.3使用主要版本47 Java 1.4使用主要版本48 Java 5使用主版本49 Java 6使用主版本50 Java 7使用主版本51 Java 8使用主版本52 Java 9使用主版本53 Java 10使用主要版本54 Java 11使用主版本55
顺便说一句,你遇到麻烦的原因是java编译器识别两个版本标志。有-source 1.5,它假定java 1.5级别的源代码,和-target 1.5,它将发出与java 1.5兼容的类文件。你可能想使用这两个开关,但你肯定需要-target 1.5;尝试再次检查eclipse是否在做正确的事情。
你可以试试jclasslib:
https://github.com/ingokegel/jclasslib
它可以将自己与*.class扩展名相关联,这很好。