【问题标题】:Managing Java version compatibility管理 Java 版本兼容性
【发布时间】:2011-07-08 11:52:47
【问题描述】:

我读过“JDKs are usually forward-compatible, and JREs are usually backward-compatible”。

Java 开发人员在他们的应用程序中进行什么样的版本检查?

您是否在每个版本中都升级您的 JDK?

您如何最大程度地减少版本之间的不兼容性?

【问题讨论】:

  • 我投票关闭,但点击了错误的选项。我想投票将其推送给 Programmers.SE

标签: java versioning


【解决方案1】:

您如何最大程度地减少版本之间的不兼容性?

报告由 japi-compliance-checker 工具生成。

【讨论】:

    【解决方案2】:

    对我们来说行之有效的策略是预先决定我们将支持哪些 JRE 版本。我们通过考虑用户使用的平台、我们想要使用的特定 JRE 的版本特定功能以及 JRE 版本的发布日期来做到这一点。所有这些都是在与我们的客户支持部门密切协商后完成的。 (当然,在其他条件相同的情况下,我们更喜欢较新的版本,因为它们往往具有错误修复、优化、安全更新等)

    然后,这将成为我们 QA 流程的输入。我们的测试工作必须涵盖我们支持的所有 JRE 版本。

    最后,我们在部署应用程序时使用在 JNLP 文件中指定特定 JRE 版本的能力,以确保尝试使用不受支持的版本运行我们的应用程序的客户获得“快速失败”体验(提供有用的关于如何获得正确的 JRE 版本的信息),而不是未来的神秘故障。

    我们为尽量减少不兼容性所做的一件事是避免使用未记录的 API(sun.misc 等)。

    在您的代码中明确检查 JRE 的当前版本应被视为解决特定 JRE 版本中已知错误的最后手段。如果在此过程中及早发现此类错误,我们更愿意从支持的版本列表中删除该 JRE 版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-30
      • 2019-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多