<分区>
我们希望将我们所有的生产服务从 Java 8 迁移到 Java 10。据我所知,我们可能会面临构建(gradle 等)、依赖关系等开发问题。但是,如果只涉及 JVM 本身,即运行服务,如果我们只是在生产中安装 JVM 10 来运行我们的 jar 服务,我们会遇到任何问题吗?
<分区>
我们希望将我们所有的生产服务从 Java 8 迁移到 Java 10。据我所知,我们可能会面临构建(gradle 等)、依赖关系等开发问题。但是,如果只涉及 JVM 本身,即运行服务,如果我们只是在生产中安装 JVM 10 来运行我们的 jar 服务,我们会遇到任何问题吗?
最佳答案
我不确定为什么这个问题被否决了,因为这似乎是一个合理的问题。
Oracle 自己将应用程序从 JDK 8 及更早版本迁移到 JDK 9 及更高版本的指南是“仅使用 java.se 的应用程序 应该 正常工作”。如果您没有使用(直接或间接通过第三方库或框架)任何 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 构建。
关于从 Java 8 迁移到 Java 10。在生产环境中运行服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51998295/