In a JNLP file, is the version property for a jar resource related to any metadata (e.g. manifest) or is it just arbitrarily set by the user creating the JNLP file?
Section 6 of the JNLP Specification gives the following information under section 6.3 "Version-based Download Protocol".
For the version-based download protocol, all resources are uniquely identified by a URL/version-id pair. Thus, a JNLP Client can at any given time request a specific version of a resource located at a specific URL.
The JNLP Client issues an HTTP GET request that includes the specific version of the resource that it needs. The request includes the field version-id, which specifies the requested version. For example, given the following jar element:
<jar href="http://www.mysite.com/b.jar" version="2.3+"/>
then the JNLP Client must issue the following HTTP GET request14:
http://www.mysite.com/c.jar?version-id=2.3%2B
The JNLP Client must examine the HTTP response status code and MIME type to determine if the result was successful. The valid responses are described in section 6.1.2. For the above jar element, the application/x-java-archive-diff MIME type cannot be returned. It can only be returned for incremental requests.
The version string used in the request is not necessarily exact, e.g., 2.3+. The Web server must specify the exact version-id of the resource that is returned in the response by setting the HTTP header field: x-java-jnlp-version-id. The exact version returned must be one that matches the requested version string.
Unfortunately the Spec. is not available for online browsing, but it can be downloaded. I have found it to be invaluable for JWS development.