J'ai une seule application que je déploie via Java Web Start. J'ai plusieurs fichiers jnlp différents pour différents scénarios de lancement. J'utilise DownloadService2 pour vérifier les mises à jour périodiquement. Lorsqu'une mise à jour est disponible, j'invite l'utilisateur. Si elles choisissent de mettre à jour, je lance une nouvelle instance de javaws using Runtime.getRuntime().exec(), en passant dans l'URL complète jnlp, puis je System.exit (0). Effectivement, cela lance un cycle de mise à jour/redémarrage. Le problème est, puisque je pourrais avoir commencé à partir d'un de plusieurs fichiers jnlp, je ne peux pas simplement coder en dur l'URL. Je sais que je peux obtenir la partie hôte: port de l'URL de BasicService.getCodeBase(), mais est-il un moyen d'obtenir la partie de fichier de l'URL? Actuellement, je suis l'ajout d'un « jnlp » argument à la même demande-desc à ce qui suit pour que je puisse récupérer de ce args:Comment obtenir l'attribut jnlp href à l'exécution dans l'application Java Web Start (similaire à BasicService.getCodeBase())?
<application-desc main-class="my.main.class">
<argument>jnlp=myjnlp.jnlp</argument>
<application-desc/>
Je pense que cela va fonctionner, mais je me demande si je fais ce plus difficile que nécessaire. Merci.
J'étais conscient de la classe DownloadService, mais je ne suis pas sûr de savoir comment l'utiliser pour obtenir le nom du fichier jnlp pour l'application en cours d'exécution. Peux-tu élaborer? – ajh158
Mes excuses. J'ai mal lu la question et la DS ne résoudra pas le problème énoncé. :( –
Pas de problème, merci d'avoir répondu. – ajh158