自从Adobe AIR发布以来,我一直在想为什么Java Web Start过去没有受到更多关注,因为在我看来它们非常相似,但Web Start已经出现了很长时间。
这主要是由于Sun的营销不好,还是除了需要安装适当的JVM之外还有其他技术方面的问题?您是否使用Web Start有不良经历?如果有的话,请分享一下。在使用Web Start分发应用程序时,您有什么建议?
自从Adobe AIR发布以来,我一直在想为什么Java Web Start过去没有受到更多关注,因为在我看来它们非常相似,但Web Start已经出现了很长时间。
这主要是由于Sun的营销不好,还是除了需要安装适当的JVM之外还有其他技术方面的问题?您是否使用Web Start有不良经历?如果有的话,请分享一下。在使用Web Start分发应用程序时,您有什么建议?
我在一家银行的内部网络工作已经有5年了,我的部门开发并分发了大量Java Web Start应用程序,这些应用程序在全世界范围内使用。我认为Java Web Start具有桌面应用程序(易于开发,用户界面丰富,客户端机器处理能力强)和互联网应用程序(易于部署和升级)的优点。
我真的很喜欢Java Web Start。
以下是来自mindprob的列表:
Java Web Start应用程序启动非常缓慢。监视器为自身和每个应用程序加载新的JVM。应用程序始终在Web上检查更新,下载并处理整个新的JNLP文件,而不仅是检查其日期。但是,如果检查新版本需要80秒左右的时间,则意味着您可能遇到代理服务器的问题。启动javaws.exe,单击编辑⇒首选项⇒网络设置⇒直接。您不希望JWS尝试使用Google Accelerator代理。还要在IE中检查,单击工具⇒Internet选项⇒连接⇒LAN设置,并确保一切都符合您的期望。但是,使用常见浏览器默认设置从网页启动Java Web Start应用程序存在一些障碍:
Sun/Oracle未能创建可靠的浏览器集成。例如,参见http://crbug.com/10877中有关Google Chrome / Chromium的例子。基本上,Java插件未能实现所需的NPAPI内容,以便Firefox和Chrome可靠地将MIME类型application/x-java-jnlp-file
转发到javaws
/ javaws.exe
二进制文件。
Sun/Oracle未能为Java Web Start .jnlp
文件获取真正的注册MIME类型。 application/x-
前缀在技术上意味着草案或私有。
Sun/Oracle未能在意图是让Java Web Start处理应用程序下载和启动时使用URL方案而不是MIME类型。例如,如果不使用URL(如https://example.com/app/launch.jnlp
),而是使用javaws://example.com/app/launch.jnlp
来启动Java Web Start,则事情会更加顺利。这是因为在这种情况下,Web浏览器甚至不需要加载.jnlp
文件,它只是将完整的URL传递给方案处理程序(这将是javaws
二进制文件)。
.jnlp 文件的 javaws 二进制文件。那 应该 在技术上非常容易(只需在安装 javaws 二进制文件时注册新的URL方案),但Sun / Oracle未能这样做。我个人认为,整个混乱是由于试图干扰MIME类型而不是简单地使用新的URL方案所导致的。连MIME类型的东西都做得很糟糕,真是让人大声疾呼。
如果您仍然希望使用Java Web Start,只需为正确配置浏览器以解决Sun / Oracle留下的问题准备好良好的文档。好处是它只需要完成一次,它将适用于任何使用Java Web start的站点。坏处是通常浏览器从未被配置为正确处理 .jnlp 文件,因此用户不想配置其浏览器仅仅是为了使用您的应用程序而让您受到“难以使用的技术”的指责。我提到过是Sun / Oracle没有自动配置浏览器吗?
我的经验:
我在2006年使用过它,用于银行的内部应用程序。
第一次下载很顺利, 但是当想要推出新版本时, JAR文件的缓存无法正常工作, 因此新文件无法推送到客户端。
花了一周时间尝试修复这个问题,但没有成功。