<分区>
许多工作环境继续留在 JRE8 上——我对如何继续为最新版本的 Java 进行开发感到有点困惑。我使用 NetBeans 9 使用 Java SE 8 编译 JavaFX 应用程序。有没有办法让我开始通过 JDK 9、10 和 11+ 进行分发,但仍然保持它与所有 JRE8 环境兼容?
或者一旦我通过 JDK11 编译,它是否仅在环境升级其运行时时才兼容?还是我可以分发一个完全独立的 jar,无需 JRE 即可运行并从今天开始(即使它们仍使用 JRE 8)?
<分区>
许多工作环境继续留在 JRE8 上——我对如何继续为最新版本的 Java 进行开发感到有点困惑。我使用 NetBeans 9 使用 Java SE 8 编译 JavaFX 应用程序。有没有办法让我开始通过 JDK 9、10 和 11+ 进行分发,但仍然保持它与所有 JRE8 环境兼容?
或者一旦我通过 JDK11 编译,它是否仅在环境升级其运行时时才兼容?还是我可以分发一个完全独立的 jar,无需 JRE 即可运行并从今天开始(即使它们仍使用 JRE 8)?
最佳答案
Java 8 和模块化的 Javas 9+ 之间有一个中断。虽然模块系统支持组合非模块化和模块化代码,JavaFX becomes OpenJFX ,而且我不会长期依赖一个代码库。
另请注意,模块化意味着您可以将带有 JRE 部分的应用程序作为小型独立可执行文件交付。
因此,在 Java 11+ 中进行开发,可能会使用您自己编写的小工具将源代码“转换”为 Java 8。限制 var
和其他快捷方式的使用。 (也许在 Java 8 中开发并转换为 Java 9+?)。
关于JavaFX Java 11 及更高版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52741144/