我们希望将所有生产服务从Java 8迁移到Java 10。据我所知,对于开发,我们可能会面临构建(gradle等)、依赖等问题。但是,如果仅涉及JVM本身,即运行服务,如果我们只安装JVM 10以运行我们的jar服务,在生产中是否会遇到任何问题?
我们希望将所有生产服务从Java 8迁移到Java 10。据我所知,对于开发,我们可能会面临构建(gradle等)、依赖等问题。但是,如果仅涉及JVM本身,即运行服务,如果我们只安装JVM 10以运行我们的jar服务,在生产中是否会遇到任何问题?
我不确定为什么这个问题会被 downvoted,因为它似乎是一个合理的问题。
Oracle 关于将应用程序从 JDK 8 及更早版本迁移到 JDK 9 及以后版本的指南是“只使用 java.se 的应用程序应该可以正常工作”。如果您没有使用(直接或间接通过第三方库或框架)任何 JDK 内部 API(sun.misc.Unsafe 是最臭名昭著的),那么您可以将所有应用程序代码保留在 classpath 中,这很可能无需任何修改即可正常工作。但需要注意的是在一些命令行标志等方面存在一些可能会引起混淆的差异。
我已经撰写了两篇博客,可能对您有所帮助:
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 构建。