关于JavaWebStart的问题

关于JavaWebStart的问题,java,jar,executable-jar,java-web-start,Java,Jar,Executable Jar,Java Web Start,我正在研究将在Windows和Mac上运行的桌面Java应用程序的部署选项。我目前正在研究WebStart,但我有几个问题 如果我可以创建一个可执行的jar文件,用户只需双击它就可以启动应用程序,那么我为什么还要使用WebStart呢?为什么不把jar文件粘贴到web服务器上,让用户下载呢?我从使用Web Start中得到了什么 我的理解是,当您安装JRE时,Web Start就出现了。但是如果用户没有在他们的机器上安装Java,会发生什么呢?它是引导他们完成安装过程,还是让他们自己下载并安装J

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

  • 如果我可以创建一个可执行的jar文件,用户只需双击它就可以启动应用程序,那么我为什么还要使用WebStart呢?为什么不把jar文件粘贴到web服务器上,让用户下载呢?我从使用Web Start中得到了什么

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


  • Webstart有一些很酷的内置版本控制。当你发布一个新版本时,它会下载它

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

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


    没有Java的用户需要安装它。这可能没有简单的办法。java站点使它变得非常简单,尽管不确定第2位,但下面是我在第1位的2美分:

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


    另一种方法是构建一个“胖罐子”,其中包含您的依赖项,这可能不适用于所有类型的依赖项。

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

  • 为您的用户减少了麻烦(与下载和执行相比,只需单击一下)
  • JavaWebStart确保用户始终使用应用程序的最新版本。考虑到您的其他解决方案,您的用户必须自己跟踪其本地应用程序的更新,或者您需要提供更新机制
  • 自1.4.2版以来,所有JRE中都包含Java Web Start。您的用户需要在他的机器上安装这个,以便运行您的Web Start应用程序(他也需要它作为可执行jar)

  • JavaWebStart允许用户无需先下载JAR即可启动应用程序;只需在网页上单击一下,即可启动该应用程序。此外,它可以确保下载最新版本的应用程序及其所有依赖项,并确保JRE是最新的,以及
  • 如果没有安装在Internet Explorer上,它可以自动安装JRE,并在其他平台上提供下载链接。看
  • 此外,还提供了一些有用的信息

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

    请参阅此处的SO页面,了解您的大部分答案

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

    从第2段开始:

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

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

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

    这就是
    deployJava.js
    的用途

    。介绍部署java.js的
    
    设计用于确保在安装之前安装适当的Java最低版本的脚本
    提供指向
    JWS应用程序。
    或者发起一个
    小程序


    重新。您的最后一条评论,请参阅我的答案,参考
    deployJava.js