2010-07-15 148 views
12

我们正在寻找Java web start的替代方案,它可以有效地完成同样的任务,只是更好地实施。我们遇到了很大的麻烦。我们有几个XP桌面办公室,都略有不同,迄今为止只有少数几个办公室没有经过严格的调整。问题在于如果代理设置不正确(使用Java控制面板中的直接连接允许它工作),拒绝在设置像“-Xmx”这样的参数时运行,但当它们不运行时运行正常(直到它运行内存不足)以及其他我们无法解决的奇怪问题。java web start alternative

网络启动的方式正是我们想要的,即连接到具有应用程序的服务器,下载任何已更改的内容,保留罐子缓存等。其他团队在这里使用'clickonce'作为C#应用程序,它确实有效,但似乎不那么麻烦。

我相信我们并不是唯一遇到过这个问题的人,但是四处搜寻并没有真正显示出任何替代方案。我们已经研究过编写一个存根本地应用程序,它基本上只是一个URLClassLoader,可以通过网络即时加载我们的应用程序,但不幸的是,这对其他办公室而言太慢了。有人有主意吗?

感谢

更新

如果有些人好奇,什么最终发生的事情,我们给在webstart再过一个月左右,但继续下去,以便我们实现了自己的版本遇到问题。它基本上只是一个存根,具有一个URL类加载器,您可以指向一个Web服务器。这是< 200行代码,它已经运行了好几个月。这是不理想的,但直到有人改善webstart我们会坚持下去。

+0

我认为你应该写一些关于你的实际问题的文章,因为我相信你现在最好的地点是解决它们,而不是迁移到Eclipse更新站点等其他技术。 – 2010-07-15 10:33:46

+0

目前我们只是逐个解决问题,但我认为可能会有一个不太麻烦的替代方案。然而,令人鼓舞的是,人们的建议一直是坚持网络开始,我想它一定适用于某些人。 – Dave 2010-07-15 11:00:31

+0

Java RMI如何?制作一个GUI应用程序,它依赖于一组类并从某个中央服务器远程获取它们的实现。这个主题有一个[Java SE trail](http://docs.oracle.com/javase/tutorial/rmi/)。 – 2013-04-20 15:49:16

回答

8

我的公司也遇到webstart的痛苦,特别是jre 1.6 update 19和20。我们的问题围绕混合代码安全警告展开。 (一切正确签署和问题是间歇性的)

Anyhoo我偶然发现了由threerings getdown。我还没有尝试过,但似乎很有希望http://www.threerings.net/code/getdown/

+0

我们刚刚碰到过,手指越过它就是我们正在寻找的东西。同样令人鼓舞的是,网络开始的时候,最终放弃了,并写了一个替代方案。 – Dave 2010-07-26 12:56:32

+1

混合代码问题真的很烦人。 – 2011-07-18 17:01:02

+0

我知道在JDK1.6_20左右发现了一个主要的Twitter错误,它导致了JDK中的SSL更改。我不记得细节,但如果我没有记错的话,它可能与证书验证或主机名验证者有关。我认为如果你扫描版本说明,你可能会发现某些东西给你一个线索。 – djangofan 2012-06-22 02:41:57

2

我发现你所有的问题都很奇怪。我在一家公司使用JWS分销其交易软件的某段时间内工作过,而且它一直工作得很好。在放弃整个技术之前,你有没有考虑看看the unofficial Java web start FAQ

+2

获得支持合同可能是一个想法...(披露:我为甲骨文工作。) – 2010-07-15 10:33:26

+1

注意:链接的FAQ是非常古老的。 Sun在Java 6 update 10中对JWS进行了重大改进。 – 2010-07-15 10:34:17

+1

我们一直在使用常见问题解答,我们正在使用java 6 update 20以获得所有新的改进。问题是有很多问题,不应该存在,应该是非常简单的。我们的选择是继续按照我们一直在做的那样逐个解决问题,不知道要多久才能继续下去,或者放弃技术并去寻找其他的东西。 – Dave 2010-07-15 10:59:12

2

我们也使用JWS很多,并且自从1-6_19开始它就开始变得很痛苦。有些应用程序启动了1-6_19,其他应用程序则没有更新到1-6_20,这是相反的情况。然后更新至1-6_21/2/3/4,问题只会改变。我们可能会放弃。它看起来像是自甲骨文接手改变以来的开发团队。否则,没有其他解释让JWS变得更糟,然后变得更好。

5

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

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

作为一种变通方法,并在我的一些关键任务的应用程序,我用一个脚本中下列之一:

Java的罐子netx.jar -jnlp http://url/to/my/launch.jnlp

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

其中netx是第三方库。

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

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

+0

你对netx有足够的实际经验来评估它吗? – 2011-07-18 17:06:03

2

GetDown似乎也是片状的。我只是尝试了一些他们在游戏中做广告的游戏网站。他们都未能加载我的Firefox。也许我的Java到Firefox的整合是责任?我已经在JDK 1.6 64位之后安装了JRE 7 32位。

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

+0

我同意你的意见。我从来没有成功地使用GetDown安装软件。它没有做它所宣称的。即使系统上安装了单个JDK,它也不起作用。 – gouessej 2018-01-10 15:56:10