2013-12-16 59 views
3

我想要做的是让我的主要Java应用程序使用Java Web Start更新另一个Java应用程序,然后在用户请求时“静静地”运行第二个应用程序。从另一个应用程序启动Java应用程序

我知道Runtime.exec调用javaws并静默导入缓存中的第二个应用程序。我可以在第一个应用程序运行时做到这一点,然后我确信我有第二个应用程序的更新副本。我的问题是如何在不显示Java Web Start“验证应用程序”窗口的情况下运行第二个应用程序。

做一些研究我看不出如果我执行.jnlp时无法避免。我想知道是否可以运行第二个应用程序通过传递Java Web Start直接调用下载的jar文件。

任何想法?

感谢

+0

容易exe文件,这可能会导致安全问题 - 让我们说你的应用程序a.jar文件的签署和信任,你要创建应用程序B是不签名和管理并从A运行。 – chro

回答

0

主要通过两种可能性在这里:

  • 可以使用JNLP Api service并使用DownloadService;
  • 或使用URLClassLoader并加载远程类。
0

我不知道,如果这就是你想要做什么,可能对你来说似乎周围的伎俩,如果是的话请原谅我...

你为什么不运行它作为EXE ,通过使用过程对象?

Process process = new ProcessBuilder("C:\\...Desktop\\MyExe.exe").start(); 

而且你可以将你的应用程序通过使用jsmooth

+0

我想到了Java Web Start解决方案,以便能够使用webstart的自动更新功能更新第二个应用程序。如果我将其作为exe分发,我将如何更新第二个应用程序。更新开始 - 停止第二个应用程序应该对用户不可见? –

+0

我觉得无论如何,你应该通知用户有关更新,一个java文件的exe文件的例子是[JDownloader](http://jdownloader.org/)。它是一款免费的开源下载管理工具,它还具有您想要的自动更新功能。 我希望我能帮上忙。 –

相关问题