java - 如何将 WebStart JNLP 与 JRE 捆绑在一起

标签 java exe java-web-start jnlp exe4j

我有一个大型 Java 应用程序,由于历史原因,它被开发为小程序(在 Web 浏览器内运行)。

现在我们有兴趣将其部署为与 JRE 捆绑在一起的独立应用程序,exe4j 看起来很有前途。

然而,有一个棘手的部分:当前的小程序的代码库存储在本地 Web 服务器上,因此任何时候用户在远程 PC 上运行该小程序时,它都会从服务器下载 jar,因此始终运行最新版本。
如果需要更新,我们的工程师只需更新服务器上的 jar 并在远程 PC 上重新启动小程序。

这是我们需要保留的东西。

如果我将小程序更改为独立的 Java 应用程序 - 我知道如何使用 JNLP 和 Web Start 运行它以保持此“自动更新”功能

但是是否可以使用此 JNLP 作为 exe4j 的起点 - 我无法弄清楚。

因此最终结果应该是:捆绑了 jre 和我的应用程序的 exe 文件(可能带有 jre 等附属目录),它根据服务器上的代码检查自身,并在运行前根据需要更新自身。

最佳答案

But is it possible to use this JNLP as a starting point for exe4j - this I can't figure out.

是和否。 JWS 提供了一个“扩展安装程序”元素,该元素将在第一次应用程序时触发。安装时以及通过 Java 控制面板卸载时。但 JWS 会期望“运行一次”安装程序不需要它擅长的自动更新类型,因此在更改时不会更新它。

另一方面,要使 JWS 正常工作,必须存在 JRE,因此我看不出使用 exe4j 或捆绑 JRE 的优势。

关于java - 如何将 WebStart JNLP 与 JRE 捆绑在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34858513/

相关文章:

java - 在 Struts2 webapp 中更改 DateFormat 或默认语言环境

java - 数字签名不受信任。 Java 将不允许对此应用程序进行任何访问

java - 有没有办法在不支持的浏览器上使用 Java Web Start?

java - 作为 Web 应用程序的导出加工项目

java - 有没有办法在运行时从 JBoss server.xml 读取 jvmRoute 值?

c++ - 程序在 visual studio 中运行但释放可执行文件崩溃

python - 如何将 .py 转换为 Python 的 .exe?

java - 如何使用 javascript 知道安装的 jvm 是 32 位还是 64 位

java - 执行 maven 3 - 何时使用 maven enforcer 插件?什么时候使用 pom 先决条件元素?

python - 使用 Anaconda 将 .py 转换为 .exe