2

我已经开发了一个 JavaFX 应用程序,我将把它作为一个原生包分发,以避免 Java 版本低于 7(因此没有 JavaFX)或根本没有 Java 的用户感到头疼。

但是,我也希望能够提供我的应用程序的更新。一种解决方案是让应用调用 home(它已经通过 XMLRPC 与后端通信),获取 JAR 并自我更新。我可以看到实际更新过程的潜在问题(需要构建一个单独的更新程序,但是如何更新更新程序?)。

我知道并且很想使用Java Web Start。但是,我不知道这是否适用于 Native Package。如果用户已经安装了 Java,它将忽略我捆绑的 JRE。如果他没有Java……那么,他不能使用Java Web Start,对吧?

如何以一种不会对用户体验产生不利影响的优雅方式解决这个问题?(并且最好不会​​很长时间来实施)

注意:我使用e(fx)clipse作为构建工具。

4

1 回答 1

2

如果他没有Java……那么,他不能使用Java Web Start,对吧?

没错,但正如JWS 标签 Wiki中所述:

Java 富 Internet 应用程序部署建议。描述deployJava.js 旨在确保在提供 JWS 应用程序链接之前安装合适的最低 Java 版本的脚本。或启动小程序。

请注意,JWS 还提供细粒度的版本控制,详见Java Web Start-Runtime Versioning

话虽如此,JWS可以允许您通过将 JavaFX 2 API 选择性地添加到那些早期系统来支持早期系统。这是使用启动文件中基于版本的资源部分来实现的。

因此,JWS 结合deployJava.js实际上将是该页面讨论的 Native Package 的“替代品”。

于 2013-01-30T00:42:22.313 回答