Java 10 从 Java 8. 运行 生产服务迁移

Java 10 migration from Java 8. Running services in production

我们想将所有生产服务从 Java 8 迁移到 Java 10。据我了解,我们可能会遇到构建(gradle 等)、依赖项等问题. 为了发展。但是,如果只涉及 JVM 本身,即 运行ning 服务,如果我们只是在生产环境中将 JVM 10 安装到 运行 我们的 jar 服务,我们会遇到任何问题吗?

我不确定为什么这个问题被否决了,因为这似乎是一个合理的问题。

Oracle 自己将应用程序从 JDK 8 及更早版本迁移到 JDK 9 及更高版本的指南是 "applications that just use java.se should just work"。如果您没有使用(直接或间接通过第三方库或框架)任何 JDK 内部 API(sun.misc.Unsafe 是最臭名昭著的),那么您可以将所有应用程序代码留在类路径中,这很可能会在没有改变的情况下工作。有一些差异可能会引起您对命令行标志等内容的更改。

我为此写了两篇博客,可能对你有帮助:

https://www.azul.com/jdk-9-pitfalls-for-the-unwary/

https://www.azul.com/jdk-10-pitfalls-for-the-unwary/

您还应该记住,迁移到 JDK 10 没有任何意义。JDK 11 将在下个月发布,届时 JDK 10 将停止。最好迁移到 JDK 11。如果您正在寻找长期支持,Oracle 现在为此收费。查看我们的 Zulu OpenJDK 版本。

Oracle 下载站点上的 JDK 迁移指南是一个很好的起点。 JDK 10 迁移指南涵盖了从 JDK 8 到 JDK 10 的迁移,可在此处找到:

https://docs.oracle.com/javase/10/migrate/toc.htm

另一个很好的资源是 JDK 发行说明,因为其中包括关于已知源、二进制和行为兼容性问题的说明。您可以从此处链接找到 JDK 9 和 JDK 10 版本的发行说明:

https://www.oracle.com/technetwork/java/javase/jdk-relnotes-index-2162236.html

另一个资源是会议视频。关于迁移到 JDK 9 及更高版本的主题,我已经准备了好几次。 Devoxx BE 2017 的最新一期可以在这里找到:

https://www.youtube.com/watch?v=uSR5JroBp34