java—如何在代码中将xml文档对象中的jnlp提供给javaws

hiz5n14c  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(273)

我正在开发一个多jar应用程序,并且逐渐意识到我可能需要使用多jnlp布局来让程序通过webstart逐步启动。一个jar在需要时启动下一个jar。
所以我计划的是:使用普通的html通过普通的launch.jnlp启动“launchingapp.jar”。这是做和工作。在launchingapp.jar中,我想启动另外两个应用程序app1和app2。所以我的想法是,因为它们不能作为jar从javaws缓存中引用,所以单个jnlp是不可能的。因此,我将通过输入流将app1和app2的jnlp流到document对象中,根据需要修改它以添加参数(这部分也完成了)。
所以问题的核心是:既然我有了一个document对象,其中包含了app1的jnlp的xml和app2的xml,那么如何将其发送到javaws?
我曾经/正在使用processbuilder,但是我不确定如何在我的对象中传递jnlp,以便它被识别为jnlp。我会把它作为文档对象的字符串版本发送吗?编辑:无法直接向javaws发送xml字符串。
如果您感兴趣或有必要,我的processbuilder代码如下。请注意,它当前在我的代码中被注解掉了,因为您无法将doc对象传递给processbuilder.command,因为它需要一个字符串,并且主要是示例。

private static void launchApp(String appName, Document doc, String... arguments)
  {
      logger.debug("Launching application: " + appName);
      ProcessBuilder rmLauncher = new ProcessBuilder().command("javaws " + doc);
      Process p;  
      p = rmLauncher.start();
  }
q35jwt9p

q35jwt9p1#

iirc jnlp现在需要对象签名,因此如果没有一些超高级风格的废话,就不能真正做到这一点。 DownloadService 以及 DownloadService2 可能做所有你需要的关于渐进加载。
将数据传递给jnlp应用程序是很棘手的。如果你已经处于 JNLP 应用程序可以使用 PersistenceService .

相关问题