
如何查看Class文件编译的JDK版本
1个回答
展开全部
由于JDK一般是向下兼容的,所以有时候本地的JDK版本比类库的版本低,往往会抛出java.lang.UnsupportedClassVersionError: Bad version number in .class file。
有时候需要确认到底是哪个类的版本低。所以需要确认类的编译JDK的版本。
可用二进制编辑工具(例如EmEditor)打开类文件,会有以下的显示:
CA FE BA BE 00 00 00 32.....
而上面的32是编译这个类的JDK版本,32表示是50,是JDK1.6;31表示49,是JDK1.5;30表示48,是JDK1.4......依次类推。
如编译上面的类的JDK为JDK1.6。所以你在环境是JDK1.6以下的引用这个类,就会抛出版本不对的异常。
有时候需要确认到底是哪个类的版本低。所以需要确认类的编译JDK的版本。
可用二进制编辑工具(例如EmEditor)打开类文件,会有以下的显示:
CA FE BA BE 00 00 00 32.....
而上面的32是编译这个类的JDK版本,32表示是50,是JDK1.6;31表示49,是JDK1.5;30表示48,是JDK1.4......依次类推。
如编译上面的类的JDK为JDK1.6。所以你在环境是JDK1.6以下的引用这个类,就会抛出版本不对的异常。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询