我们一直在遵循官方的Java迁移指南,将我们的应用程序从Java 6升级到Java 8.不幸的是,我们没有将源版本和目标版本设置为1.8以防止使用新的语言功能.
所以目前我们正在编译和执行我们的应用程序,JDK 1.8 / JRE 1.8但设置源和目标级别1.6.
不过,我们现在甚至希望将应用程序的源和目标级别升级到1.8.
设置这些属性只会更改编译的允许功能和类的二进制格式,还是配置会更改应用程序的语义?我们希望在将源版本和目标版本更新到更高版本时,在保留相同的JRE执行和JDK进行编译时,不应存在任何已知问题或不兼容性.
与目标和源的主题略有相关。这取决于您的应用程序是否是可以包含在其他项目中的库。例如,在 AS3 之前,您不能包含使用目标和源编译的库,> 1.7尽管代码语义完全相同。即使该库不包含任何 Java 8 功能(例如流)。
所以这可能是一个“复选标记”。