java web start替代方案

Dav*_*ave 15 java deployment urlclassloader java-web-start

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

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

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

谢谢

更新

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

更新2018年

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

小智 10

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

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


小智 5

我在公司里广泛使用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%的时间.

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