我正在尝试调试
java中的“.class文件中的版本号错误”
错误,有没有办法检查.class
文件的版本是什么?
我正在使用JRE1.5.0_6
,但我的JDK
是版本1.6.0_13。
我正在使用兼容模式编译,在eclipse中设置为1.5,我认为它可以工作......
答案 0 :(得分:586)
您正在命令行上查找(对于名为MyClass的类):
在Unix / Linux上:
javap -verbose MyClass | grep "major"
在Windows上:
javap -verbose MyClass | findstr "major"
您希望结果中包含主要版本。以下是一些示例值:
答案 1 :(得分:15)
顺便说一句,你遇到麻烦的原因是java编译器识别出两个版本标志。有-source 1.5,它假设java 1.5级源代码,-target 1.5,它将发出java 1.5兼容的类文件。你可能想要使用这两种开关,但你肯定需要-target 1.5;尝试仔细检查eclipse正在做正确的事情。
答案 2 :(得分:7)
免费JarCheck工具here
答案 3 :(得分:5)
答案 4 :(得分:3)
-verbose
命令的java
标志是否会产生任何有用的信息?如果没有,也许java -X
会显示您的版本特有的内容可能会有所帮助吗?