我有一个通过Java web Start部署的应用程序。对于不同的启动场景,我有几个不同的jnlp文件。我正在使用DownloadService2定期检查更新。当更新可用时,我会提示用户。如果他们选择更新,我启动一个新的javaws using Runtime.getRuntime().exec()实例,传入完整的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/>我认为这会起作用,但我想知道我是不是让它变得比需要的更难。谢谢。
发布于 2012-06-26 06:41:52
我使用我的问题中描述的方法解决了这个问题。似乎没有更好的方法了。
https://stackoverflow.com/questions/3721070
复制相似问题