Java 8 和之前的版本有Java Web Start,当我们改变它时它会自动更新应用程序。Oracle 建议用户迁移到jlink,因为这是新的 Oracle 技术。到目前为止,这听起来不错。这带来了许多好处:
- Windows、Mac 和 Linux 上的本机代码
- 代码的模块化(尽管 Proguard 也这样做)
- 使用新的、受支持的技术。
问题:我找不到使用 jlink 自动更新的规范 Java 解决方案。
有人会认为 Java Web Start 可以继续使用,尤其是如果您随便阅读此文档。请注意,Java Web Start 继续在显着位置列出。但美中不足的是:Oracle 正在弃用 Java Web Start。它计划在 JDK 11 中删除。那么,官方的前进道路是什么。如果做不到这一点,人们是否有一种标准的方式进行?
出于此问题的目的,以下内容超出了范围:
- 每年向拥有功能丰富的企业解决方案的人支付巨额费用。要分发的应用程序已经打包到一个小于 50MB 的 jar 中。
- 强制用户运行 InstallShield 风格的应用程序重新安装新版本,然后每次推送更新时手动卸载旧版本。那是1990年代。
- 将整个应用程序移植为 Web 应用程序,重写 UI 和客户端逻辑以适应浏览器,并处理所有不兼容的问题。该应用程序的作者在GWT上工作,并且确切地知道 Web 浏览器的功能。不幸的是,他们也知道所需的努力程度。
- 允许用户继续运行旧版本的应用程序。那也是1980年代。现代应用程序更新迅速,并且支持曾经发布的应用程序的每个版本是站不住脚的。这就是我父亲的 COBOL 应用程序必须处理的问题,他并不喜欢它。我希望技术进步了。
- 继续使用 Java Web Start。直到/除非 Oracle 改变主意,Java Web Start 是一种注定失败的技术。