所以你已经听到了这个消息。Oracle震惊世界,改变了Java和相关技术的支持路线图,发布周期等。但是,您的业务'JavaFX应用程序(及其依赖项)在Oracle JDK 8上运行。您喜欢稳定性,因为如果您不这样做,您的业务软件可能会失败,导致您花钱或更糟 - 让您破产和/或还是欠债
那么这对Oracle JDK / JavaFX 8的商业用户意味着什么呢?两件事情:
我们多年来一直受到的第一次免费的公共支持,就像一个与生俱来的权利一样,很快就会结束。
在2019年1月之后,如果没有Oracle的商业许可,将不会为“商业,商业或生产用途”提供Oracle JDK 8的公开更新。
第二,JavaFX支持也即将结束。
JavaFX 8的免费支持将提供到2022年3月,JavaFX将从Java SE 11中删除,Java SE 11已经在我们面前。
“Winging”对于严肃的企业来说,它不是一个选择,因为使用没有安全更新,错误修复或其他支持的Oracle JDK 8充其量只是一个可怕的风险,更糟糕的是,灾难性的; 从Java 11开始,企业可能无法在没有许可证的情况下在生产中使用Oracle JDK 11。
以防你错过了它
所以现在怎么办?
解决方案:OpenJDK。到目前为止,OpenJDK显然是Java和JVM的未来; 有关更多信息,请参见此处 在某种程度上,这是Sun一直想要的传真 - 一个免费和开放的Java。通过上述更改,Oracle为Linux,Mac和Windows提供了二进制OpenJDK版本。但是,它不维护或提供OpenJDK 8二进制文件。如果您在Linux机器上运行,这可能不是问题,因为在许多Linux平台上都维护着OpenJDK发行版。但是如果你在Windows上呢?这里的情况有点不同。
有一些人(例如@chriswhocodes和Sky Land Universal Corporation)提供他们自己的OpenJFX版本。但是,依靠这些第三方提供OpenJFX构建可能不符合您的需求。他们欠你什么,可以在没有警告的情况下明天关闭。此外,您将依赖于它们提供的构建的完整性。
然而,好消息是,由于OpenJFX(一个OpenJDK项目是Oracle JFX上游),您可以在开放的情况下编译和构建JavaFX - 在GPL v2下使用Classpath Exception。
此外,由于JavaFX与JVM的分离正在向前发展,因此切换到OpenJFX将使您的业务直接与未来的工作方式保持一致,希望能够实现更顺畅的升级。但请注意,一家名为Gluon的公司,OpenJFX的事实上的社区管理员,在您准备进行切换时提供OpenJFX 11版本。这一切的美丽?如果你不愿意,你不必使用Gluon的版本,尽管它们非常支持并且是JavaFX社区中进化的驱动力。