我有一个 Java 桌面应用程序,现在我们将它作为 jar 分发到主应用程序的安装程序中(目前 Java 应用程序只是一个导入器/导出器)。但是由于 jar 比主应用程序更新得更频繁,我们正在考虑让它通过 Java Web Start 运行,因此它在启动时会独立更新。
我的问题是如何在安装程序中分发它,所以如果用户没有互联网,它会使用安装程序中的 jar 包(并复制到主应用程序文件夹中)但是当他启动并有互联网时,Java Web Start 会更新它?
编辑:我考虑制作两个 JNLP 文件,一个用于本地启动,一个用于在线启动,以便更新,但随后他们需要共享缓存的 jar,因此不会安装两次,我不知道这是否是可能的。
编辑,更多解释:
也许我没有很好地解释它。我有一个本机应用程序,并通过下载和 CD 作为 MSI 分发。通过这个应用程序,我们分发了主应用程序用来将数据交换为其他格式的 Java 应用程序(一个 jar)。MSI 安装本机应用程序并复制 jar(不是真正安装)。现在,如果用户有互联网并且发布了新的更新,则会下载并安装完整的 MSI(更新安装)。好?
好吧,我们喜欢使用 Java Web Start 以更时尚的方式只更新 jar,因此当 jar 独立于主应用程序运行时,它会更新。这有一个问题,如果我们只将它部署为 Java Web Start,如果用户将应用程序安装在没有互联网的计算机上(例如将 MSI 放在笔式驱动器或 cd 中),他将无法使用它,因为因为他没有互联网,所以他无法下载 jar。
现在是我的问题来了,我可以在 MSI 中部署 jar,但通过 Java Web Start 执行,所以如果用户有互联网,它会得到更新,但如果他没有互联网,它仍然可以使用 MSI 中的捆绑 jar ?