关于Java Web Start的问题

时间:2013-01-08 22:55:41

标签: java jar executable-jar java-web-start

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

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

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

5 个答案:

答案 0 :(得分:4)

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

  1. 为您的用户减少麻烦(一次点击而不是下载和执行)
  2. Java Web Start确保您的用户始终使用最新版本的应用程序。鉴于您的其他解决方案,您的用户可以自己跟踪更新本地应用程序,或者您需要提供更新机制。
  3. 自1.4.2版以来,Java Web Start包含在所有JRE中。您的用户需要在他的机器上安装它才能运行您的Web Start应用程序(他也需要它用于可执行jar)。

答案 1 :(得分:4)

有关您的大多数答案,请参阅此处的Java Web Start Wiki页面。

  

1)我使用Web Start的原因是什么?

从第2段开始:

  

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

     
      
  • 启动画面
  •   
  • 桌面集成
  •   
  • 文件关联
  •   
  • 自动更新(包括延迟下载和程序化控制更新)
  •   
  • 本地人的分区&按平台,体系结构或Java版本下载的其他资源
  •   
  • 运行时环境的配置(最小J2SE版本,运行时选项,RAM等)
  •   
  • 使用扩展程序轻松管理公共资源..
  •   

  

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

这就是deployJava.js的用途。

  

Java Rich Internet Applications Deployment Advice。描述deployJava.js   脚本旨在确保之前安装适当的最低版本的Java   提供一个链接   JWS应用程序   或发起一个   小应用程序。

答案 2 :(得分:2)

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

您可以在webstart应用中签名

某些机器无法正确配置以允许"双击"开始一个罐子

没有Java的用户需要安装它。可能没有简单的方法。 java网站让它变得非常简单

答案 3 :(得分:2)

  1. Java Web Start允许用户无需先下载JAR即可启动应用程序;只需在网页中单击即可启动应用程序。此外,它可以确保下载最新版本的应用程序及其所有依赖项,并确保JRE是最新的,并且
  2. 如果未安装在Internet Explorer上,它可以自动安装JRE,并在其他平台上提供下载链接。见Oracle's documentation on Java Web Start
  3. 此外,Wikipedia article还提供了一些有用的信息。

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

答案 4 :(得分:1)

不确定2号,但这是我在2号上的2美分:

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

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