刚才找了个Java 反编译工具,接果有些Class文件可以反编译出源代码,有些就不行,提示说"Class file version mismatch" ,这个是怎么回事?NetBeans项目属性中有个源代码级别,选项包括1.2  1.3  1.4  1.5 1.6  似乎是JDK的版本,不知这个与Class file version有关么?

解决方案 »

  1.   

    好像是有版本区分的,不过是编译器的版本,好像是什么 49.0 之类的。你第二段说到是编译的兼容级别,与版本没有什么关系,其就像使用 javac -source 1.2 XXX.java 就表示采用 JDK 1.2 版来编译该文件。也就是说你下的反编译工具太老了,应该去找个更新一点的。