有一段时间我试图理解,但我仍然没有得到Eclipse中项目的"编译器合规级别".我查看了这个网站和谷歌,找不到我能理解的答案.
假设我希望我的程序能够在JRE 6上运行.
我可以这样做:Project> Preferences> Java Build Path> Libraries,并将我使用的JRE库设置为JRE 6.
为什么这不够?
我永远不明白为什么我还需要将编译器合规性设置设置为JRE 6.
我想了解在项目中使用JRE 6和将项目的编译器合规性设置设置为JRE 6之间的区别.
编译器合规性级别究竟是什么意思?
use*_*751 44
编译器合规性设置告诉编译器假装它是不同版本的Java.
Java 8编译器将生成Java 8版本的类文件格式的类文件,并接受Java 8源文件.JRE 6无法加载此版本,因为它是在JRE 6之后创建的.
如果将合规性级别设置为"JRE 6",则会将Java 6源文件编译为Java 6类文件.
这就像将Word文档保存为"Word 97-2003格式" - 以便Word 97-2003可以读取您的文档.您将以Java 6格式保存类文件,以便Java 6可以读取它们.