JDK 11的一般可用性仅数小时之遥! 因此,现在是讨论从JDK 8迁移的最佳时机。
正如我们在前面的讨论中提到的那样,众所周知,很多人仍在使用JDK8。因此,Oracle的Donald Smith通过建议从Java 8到Java 10的逐步迁移,然后再迁移到Java 11来解决该问题。 。
但是,民意调查结果表明,开发人员的意图恰恰相反!
如民意调查结果所示,超过一半的受访者打算直接从Java 8迁移到11,而只有18%的受访者计划按照Donald Smith的建议去做!
更重要的是,尽管Oracle宣布将中断2019年1月之后发布的Java SE 8的公开更新 ,但仍有大量开发人员计划继续使用Java 8 。
如果某些方法可行,为什么要更改它,对吗?
同时,尽管JDK 11的倒计时仍在继续,但让我们看一下到目前为止有关Java迁移选项和Donald Smith的建议的讨论。
到目前为止的讨论
今年早些时候,Oracle宣布 : ``未经商业许可,2019年1月之后发布的Oracle Java SE 8公开更新将无法用于商业,商业或生产用途。'' 但是,如果您是消费者(并且将Java用于“个人,个人使用”),则不必担心-至少到2020年底,仍然可以使用公共更新。
由于对Oracle JDK发行和支持的更改感到困惑,并且每个人都有自己的Java负责人版本以及提供支持的人,因此Java Champion创建了一个文档 ,其中总结了Oracle所做的所有更改。作为Java SE用户可以选择的选项。 您可以在此处了解更多信息。
根据本文档,如果您想继续使用Java 8 ,则可以
- 继续无限期地使用Oracle JDK 8,但没有更新,
- 进入付费支持计划,或使用其他提供商的Java SE 8 / OpenJDK 8二进制发行版 ( 即Linux发行版, AdoptOpenJDK , Azul , IBM , Oracle , Red Hat 等),或
- 如果您未使用Oracle JDK 8,则当前的Java SE 8 / OpenJDK 8提供程序将提供更新和/或付费支持计划供您选择。
注意:我们将在JAX London上深入探讨该主题。
不过,您不应该跳过JDK 10
很多人仍在使用Java 8 ,这已经不是什么秘密了,因此应对即将到来的变化非常重要。 那些希望继续使用JDK 11的人应该首先迁移到JDK 10,正如Oracle Java平台小组产品管理高级总监Donald Smith在博客文章中写道,解释了最短的升级路径。
如果您不喜欢切换到Oracle Java SE Subscription的想法,则需要升级您的应用程序,而不是等待下一个版本(即下周的JDK 11),您应该立即行动并迁移到您仍然可以使用JDK 10。 您可以在《 Oracle JDK 10迁移指南》中找到说明。
最新的Java版本可从Oracle下载现在的问题是JDK 10.0.2 。
由于尚未发布JDK 11,因此针对面向JDK 11的开发人员建议的操作步骤是, 通过使他们的应用程序在JDK 10上成功运行 ,开始着手从Java SE 8进行迁移。 由于半年发布节奏更快,因此 JDK 10和JDK 11之间的更改数量比JDK 8和JDK 10之间的更改数量少得多 。
一旦应用程序在JDK 10上运行良好,开发人员应使用JDK 11 Release Candidate 构建对其进行测试,以便准备在本月晚些时候发布到JDK 11时进行迁移 。
– 唐纳德·史密斯(Oracle Smith)
如果您想将应用程序从Java 8迁移到JDK 12(在2019年3月到期),则应遵循相同的迁移模型-“从安全基线开始,将更大的工作量迁移到最新版本,即JDK 10.0.2。在这个时候,然后,一旦应用程序运行良好,就继续逐步迁移到JDK 11的最新可用版本。”
如果它可以与JDK 11一起很好地工作,请继续使用JDK 12 Early Access 构建对其进行测试。
还请参见: 由于计划中的长期支持,是否已提供JDK 11迁移?
2019年1月之后会怎样?
一旦没有商业许可证, Java 8 公开更新不再可用于商业,商业或生产用途, Oracle的贡献者将把注意力集中在其他当前的JDK版本上。 “ 与以往一样,当合适的参与者向前迈进以在2019年1月之后继续维护OpenJDK 8更新时,我们将讨论如何在OpenJDK社区中最好地实现这种过渡 。”
翻译自: https://jaxenter.com/from-java-8-to-jdk-11-migration-149691.html