Java类文件JDK版本

时间:2013-06-25 08:00:20

标签: java compilation .class-file

我需要将更多日志添加到特定java模块的几个类中(模块已编译,没有可用的源)。我已成功提取源代码,但我对使用哪个JDK版本重新编译修改后的类感到困惑。

javap -verbose className.class

显示

...
major version: 46
...

46 version是否意味着最初的课程是使用 JDK 1.2 编译的 但源文件包含从java nio:

的导入
import java.nio.ByteBuffer;

java 5 中实现 问题是:它可以如何?

注意:
+在open-jdk 1.5下运行的整个系统
+创建日期模块〜2006年

1 个答案:

答案 0 :(得分:1)

当您使用-target命令行开关时,编译器会生成与旧版本兼容的类文件。

您拥有的文件可能是使用-source 1.2 target 1.2编译的。兼容性仅影响使用的字节码指令,它不会阻止您使用较新的API。

相关问题