Dans un fichier JNLP, la propriété version d'une ressource jar est-elle liée à des métadonnées (par exemple, manifeste) ou est-elle arbitrairement définie par l'utilisateur créant le fichier JNLP?Propriété de version sur les bocaux dans Web Start
Répondre
La section 6 de la spécification JNLP donne les informations suivantes dans la section 6.3 "Protocole de téléchargement basé sur la version".
Pour le protocole de téléchargement basé sur la version, toutes les ressources sont identifiées de manière unique par une paire URL/ID de version. Ainsi, un client JNLP peut à tout moment demander une version spécifique d'une ressource située à une URL spécifique.
Le client JNLP émet une requête HTTP GET qui inclut la version spécifique de la ressource dont il a besoin. La requête inclut le champ version-id, qui spécifie la version demandée. Par exemple, étant donné l'élément jar suivant:
<jar href="http://www.mysite.com/b.jar" version="2.3+"/>
alors le client JNLP doit émettre les éléments suivants HTTP GET request14:
http://www.mysite.com/c.jar?version-id=2.3%2B
Le client JNLP doit examiner le code d'état de réponse HTTP et le type MIME pour déterminer si le résultat a été réussi. Les réponses valides sont décrites dans la section 6.1.2. Pour l'élément jar ci-dessus, le type MIME application/x-java-archive-diff ne peut pas être renvoyé. Il ne peut être renvoyé que pour les demandes incrémentielles.
La chaîne de version utilisée dans la demande n'est pas nécessairement exacte, par exemple, 2,3+. Le serveur Web doit spécifier l'ID de version exacte de la ressource renvoyée dans la réponse en définissant le champ d'en-tête HTTP: x-java-jnlp-version-id. La version exacte renvoyée doit correspondre à la chaîne de version demandée.
Malheureusement, la spécification. n'est pas disponible pour la navigation en ligne, mais il peut être downloaded. Je l'ai trouvé d'une valeur inestimable pour le développement de JWS.