2

我正在研究将在 Windows 和 Mac 上运行的桌面 Java 应用程序的部署选项。我目前正在研究 Web Start,但我有几个问题。

  1. 如果我可以创建一个可执行的 jar 文件并且用户可以双击它来启动应用程序,为什么我什至需要使用 Web Start?为什么不直接将 jar 文件粘贴到 Web 服务器上并让用户下载呢?我从使用 Web Start 中得到了什么?

  2. 我的理解是安装 JRE 时会出现 Web Start。但是如果用户没有在他们的机器上安装 Java 会发生什么?它会引导他们完成安装过程,还是必须自己下载并安装 JRE?

4

5 回答 5

4

Java Web Start 使您的用户能够通过从 Web 上单击来启动应用程序(前提是他们安装了 JRE)。让您的用户下载可执行 jar 的主要优点有两个:

  1. 为您的用户减少麻烦(一键与下载和执行)
  2. Java Web Start 确保您的用户始终使用最新版本的应用程序。鉴于您的其他解决方案,您的用户将自己跟踪更新他的本地应用程序,或者您需要提供更新机制。

自 1.4.2 版起,Java Web Start 包含在所有 JRE 中。您的用户需要在他的机器上安装它才能运行您的 Web Start 应用程序(他也需要它来生成可执行的 jar)。

于 2013-01-08T23:08:15.260 回答
4

请参阅 SO 的Java Web Start Wiki页面了解您的大部分答案。

1) 我从使用 Web Start 中得到了什么?

从第 2 段开始:

JWS 提供了许多吸引人的功能,包括但不限于

  • 闪屏
  • 桌面集成
  • 文件关联
  • 自动更新(包括延迟下载和更新的编程控制)
  • 按平台、架构或 Java 版本划分本地和其他资源下载
  • 运行时环境的配置(最低 J2SE 版本、运行时选项、RAM 等)
  • 使用扩展轻松管理公共资源..

2) 如果用户没有在他们的机器上安装 Java,会发生什么?

这就是它的deployJava.js用途。

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

于 2013-01-09T03:59:22.847 回答
2
  1. Java Web Start 允许用户启动应用程序而无需先下载 JAR;该应用程序可以简单地在网页中一键启动。此外,它可以确保下载最新版本的应用程序及其所有依赖项,并且可以确保 JRE 是最新的,并且
  2. 如果没有安装在 Internet Explorer 上,它可以自动安装 JRE,并提供其他平台的下载链接。请参阅Oracle 在 Java Web Start 上的文档

此外,维基百科的文章也提供了一些有用的信息。

尽管如此,甚至 Oracle 似乎也放弃了 Web Start(上面的文档链接,从 Java 7 开始,已经严重过时了 VBScript 和有关 Netscape 的示例),并且越来越少的用户在他们的浏览器中启用了 Java 插件,主要是因为在过去的几年中存在许多安全漏洞。

于 2013-01-08T23:08:37.380 回答
2

Webstart 有一些很酷的内置版本控制。当您发布新版本时,它将下载它。

您可以签署您的 webstart 应用程序

某些机器无法正确配置以允许“双击”启动 jar

没有 Java 的用户需要安装它。可能没有简单的方法解决这个问题。Java站点使它变得非常容易

于 2013-01-08T23:04:15.847 回答
1

不确定数字 2,但这是我对数字 1 的 2 美分:

对我来说,JWS 最重要的特性是它可以处理您的依赖关系。如果您在项目中使用任何库,JWS 将负责为用户安装它们。

对此的替代方法是让您构建一个包含您的依赖项的“胖罐”,这可能不适用于所有类型的依赖项。

于 2013-01-08T23:04:48.870 回答