为了账号安全,请及时绑定邮箱和手机立即绑定

在较高版本中运行 java 代码,在较低 java 版本中编译

在较高版本中运行 java 代码,在较低 java 版本中编译

慕妹3146593 2021-10-28 14:14:28
我有 java EE 工件,如 .jar 、 .war 、 .ear 文件在 java 1.6 版本中编译和运行。我想在最新的 Java 版本(如 Java 1.8)中运行它们(.ear 文件 [.jar + .war])。考虑到迁移到新的 Java 版本,哪个选项是最好的。1) 在 1.8 中重新编译代码并部署到应用程序服务器- 更安全一些。2) 只需部署到 java 1.8- 不需要代码编译(意味着使用 java 1.6 生成的 .ear 文件)。.ear 文件可以安全地部署到最新的 java 1.8 版本- 也许我们最终不会遇到运行时问题?因为这是一个生产代码库,没有开发人员。因此在任何一种情况下都没有代码更改,唯一的更改是 java 版本。我更喜欢使用 Option-1,因为在更高版本的现有 Java 类中进行编译以避免任何运行时问题。有什么想法吗 !或在这方面的其他有用选项。
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

正如@Stultuske 提到的,你只告诉在任何一种情况下都不能更改代码,那么你的第一个案例就不是一个有效的案例。

但无论如何,根据 java(Oracle) 兼容性规范,Java 8 向后兼容以前的版本,除了一些非常罕见的二进制不兼容情况外,毫无疑问。

有关这方面的更多信息,您可以参考下面的堆栈溢出链接——


查看完整回答
反对 回复 2021-10-28
?
慕森王

TA贡献1777条经验 获得超3个赞

最近我做了类似的事情,但如果需要,我们更新了代码/依赖项。

我建议首先重新编译代码库,因为这会很快告诉您它或任何依赖项是否不支持较新的 Java 版本。如果编译成功,则部署到测试环境并执行健全性、回归等。

我希望你不是在谈论直接部署到生产环境:)


查看完整回答
反对 回复 2021-10-28
  • 2 回答
  • 0 关注
  • 260 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信