У меня есть одно приложение, которое я развертываю через Java Web Start.У меня есть несколько разных файлов jnlp для разных сценариев запуска.Я использую DownloadService2 для периодической проверки обновлений.Когда обновление доступно, я запрашиваю пользователя.Если они решат обновить, я запускаю новый экземпляр javaws, используя Runtime.getRuntime (). Exec () , передавая полный URL-адрес jnlp, затем я System.exit (0).По сути, это запускает цикл обновления / перезапуска.
Проблема в том, что, поскольку я мог бы начать с одного из нескольких файлов jnlp, я не могу просто жестко закодировать URL.Я знаю, что могу получить часть URL-адреса host: port из BasicService.getCodeBase () , но есть ли способ получить часть URL-адреса из файла?В настоящее время я добавляю аргумент "jnlp" в application-desc, подобный следующему, чтобы я мог извлечь его из аргументов:
<application-desc main-class="my.main.class">
<argument>jnlp=myjnlp.jnlp</argument>
<application-desc/>
Я думаю, что это будет работать, но мне интересно, если яделая это сложнее, чем нужно.Благодаря.