java web start替代

我们正在寻找Java web start的替代方案,它可以有效地执行相同的操作,只是更好地实现。 我们遇到了大麻烦。 我们有一些XP桌面办公室,所有办公室都略有不同,到目前为止,只有少数办公室没有认真调整。 问题与不能很好地使用代理设置(使用Java控制面板中的直接连接允许它工作),拒绝在设置“-Xmx”之类的参数时运行但在不运行时运行正常(直到它运行内存不足)和其他我们无法解决的奇怪问题。

Web开始工作的方式正是我们想要的,即连接到具有应用程序的服务器,下载任何已更改的内容,保留jar缓存等。其他团队在这里使用’clickonce’作为他们的C#应用​​程序,它确实有效地同样的事情,但似乎没那么麻烦。

我确信我们并不是唯一遇到这种情况的人,但搜索并没有真正显示任何替代方案。 我们已经考虑编写一个存根本地应用程序,它本质上只是一个URLClassLoader,它可以动态地通过网络加载我们的应用程序,但不幸的是,它与其他办公室相比太慢了。 有人有主意吗?

谢谢

更新

如果有人对最终发生的事情感到好奇,我们在一个月左右的时间内给了webstart,但是继续遇到问题,所以我们实现了自己的版本。 它基本上只是一个存根,它有一个指向Web服务器的URL类加载器。 这是<200行代码,它已经运行了好几个月。 它并不理想,但在有人改进webstart之前我们会坚持下去。

更新2018年

所以,几年后,我正在研究一个同样问题的新项目。 这次我们使用的是getdown,而不是编写我们自己的webstart实现。 我们发现这是对网络开始的巨大改进,并且它对我们来说非常好。

我的公司也经历了webstart痛苦,特别是JRE 1.6更新19和20.我们的问题围绕混合代码安全警告。 (一切都签正了,问题是间歇性的)

Anyhoo,我偶然发现了威胁。 我还没有尝试过,但似乎很有希望https://github.com/threerings/getdown/wiki

我在公司里广泛使用JWS。 只有当您尝试从缓存运行JWS并且客户端的计算机刚刚升级到较新版本的Java时,才会出现我在JWS中遇到的唯一真正的问题。 应用程序将无法启动“无法启动”,“找不到缓存文件”错误或类似的错误。

我有两种方法可以解决这个问题:我要么清除缓存并让他们重新安装应用程序,要么我只是让他们再次从我的网站点击URL(对我的用户来说最简单)。 在这两种情况下,问题都会解决。 这可以解释为什么这里的几个开发人员从未见过这个问题,很可能是因为他们的用户总是点击一个URL而不是安装的启动器。

作为一种解决方法,在我的一些关键任务应用程序中,我在脚本中使用以下任一项:

java -jar netx.jar -jnlp http://url/to/my/launch.jnlp

要么

javaws http://url/to/my/launch.jnlp

netx是第三方库。

这不是最漂亮的解决方案,但对我来说,这些工作100%的时间。

现在,如果我只能弄清楚如何让桌面快捷方式不会下地狱……但这是另一次的讨论。

我发现你所有的事情都很奇怪。 我曾经在一家公司工作过一段时间,在一家公司使用JWS分发其交易软件,它总是很好用。 在放弃整个技术之前,你有没有考虑过看一下非官方的Java web start FAQ ?

我们也经常使用JWS,从1-6_19开始它就开始变得很痛苦。 一些应用程序启动1-6_19其他人没有,然后我们更新到1-6_20,这是另一种方式。 然后更新到1-6_21 / 2/3/4并且问题只会改变。 我们可能会放弃。 自从Oracle接管以来,开发团队似乎发生了变化。 否则,没有其他解释可以使JWS变得更糟。

GetDown似乎也很脆弱。 我刚试了一些他们做广告的游戏网站作为实例。 它们都无法在我的Firefox中加载。 也许我的Java与Firefox集成是罪魁祸首? 我在JDK 1.6 64位之后安装了JRE 7 32位。

通常,Web Start问题和糟糕的用户体验很多次都与用户计算机上安装Java的方式有关。 在Windows上我注意到如果你在较新版本之后安装旧版本的Java(期望它们将共存),我开始遇到运行applet和WS应用程序的问题。