java - 将 Java Web Start 与 JavaFX 的 native bundle 结合使用

标签 java javafx native updates java-web-start

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

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

我了解并且喜欢使用 Java Web Start。但是,我不知道这是否适用于 native 包。如果用户已经安装了 Java,它将忽略我捆绑的 JRE。如果他没有 Java...那么,他就无法使用 Java Web Start,对吗?

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

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

最佳答案

If he has no Java... well, he can't use Java Web Start, right?

确实如此,但正如 JWS tag Wiki 中提到的:

Java Rich Internet Applications Deployment Advice. Describes the deployJava.js script designed to ensure a suitable minimum version of Java is installed before providing a link to a JWS app. or launching an applet.

请注意,JWS 还提供细粒度版本控制,如 Java Web Start - Runtime Versioning 中详细介绍。 。

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

因此,JWS 与 deployJava.js 结合实际上将是该页面讨论的 native 包的“替代方案”。

关于java - 将 Java Web Start 与 JavaFX 的 native bundle 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14585368/

相关文章:

java - 如何在 JavaFX 中设置 ComboBox 中的项目样式

java - 我在运行 JNI android 应用程序 A/libc 时收到错误消息:致命信号 11 (SIGSEGV) 在 0xdeadd00d(代码=1),线程 17729

java - if(a&&b) 是否应该比 if(a) if(b) 花费更多时间?

java - 将 Java 项目编译为 native 库并在其上创建 C/C++ 包装器

java - JavaFX是否支持像Piccolo2D这样的嵌套对象的层次转换

java - javafx 对象放入数组后会丢失引用的问题

java - Java Disutil CoordinateConversions导入问题

java - 我们如何在java中实现抽象?

java - JodConverter 处理转换文档的多个请求

java - 使用 Java 创建的 ZIP 文件在使用 Windows 资源管理器打开时显示为空