Java 交叉编译与使用旧版编译器有何不同?
To what extent is Java cross-compilation different from using an older compiler?
在我正在进行的一个项目中,我们 运行 进入 an issue
与 class 在 Java.
的不同版本之间的不兼容性有关
建议的修复方法是应用 cross-compilation:我们不仅应该向编译器指定 -target
和 -source
参数,还应该明确定义正确的 bootstrap class路径和扩展目录。
我的问题:与简单地使用旧 JDK 的编译器相比,这有什么好处?
我主要看两个reasons/benifits
- 如果您有部分源代码使用较新的语言功能,则无法使用旧版本编译它们
- 最终可能会在较新版本中修复编译器错误
除此之外,我认为没有理由不使用旧编译器。
在我正在进行的一个项目中,我们 运行 进入 an issue 与 class 在 Java.
的不同版本之间的不兼容性有关建议的修复方法是应用 cross-compilation:我们不仅应该向编译器指定 -target
和 -source
参数,还应该明确定义正确的 bootstrap class路径和扩展目录。
我的问题:与简单地使用旧 JDK 的编译器相比,这有什么好处?
我主要看两个reasons/benifits
- 如果您有部分源代码使用较新的语言功能,则无法使用旧版本编译它们
- 最终可能会在较新版本中修复编译器错误
除此之外,我认为没有理由不使用旧编译器。