0

我有一个通过 Java Web Start 部署的应用程序。对于不同的启动场景,我有几个不同的 jnlp 文件。我正在使用 DownloadService2 定期检查更新。当有可用更新时,我会提示用户。如果他们选择更新,我使用 Runtime.getRuntime().exec() 启动一个新的 javaws实例,传入完整的 jnlp url,然后是 System.exit(0)。实际上,这会启动更新/重启周期。

问题是,因为我可以从几个 jnlp 文件之一开始,所以我不能简单地对 url 进行硬编码。我知道我可以从BasicService.getCodeBase()获取 url 的 host:port 部分,但是有没有办法获取 url 的文件部分?目前,我正在向 application-desc 添加一个“jnlp”参数,类似于以下内容,以便我可以从 args 中检索它:

<application-desc main-class="my.main.class">
<argument>jnlp=myjnlp.jnlp</argument>
<application-desc/>

我认为这会奏效,但我想知道我是否让它变得比需要的更难。谢谢。

4

2 回答 2

0

也许最好使用DownloadService来提供此功能。

于 2010-09-16T00:34:47.630 回答
0

我使用我的问题中描述的方法解决了这个问题。似乎没有更好的方法。

于 2012-06-25T22:41:51.593 回答