Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support multiple java resources #37

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

klarose
Copy link

@klarose klarose commented Aug 24, 2022

The jnlp specification
(https://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html)
allows for multiple java/j2se in one resource. The existing model of
the Resource struct allowed for zero or one, not zero to *. This leads
to some odd behaviour when encountering multiple j2se properties. In
particular, it seemed to merge the fields together, with the last
winning. The net result (in the case I ran into) was that java VM
arguments only available in 1.9+ were applied to a 1.8 VM, which lead to
it failing to start.

This changes the Resource model to accept an arbitrary number of
J2SE/Java properties. Further, it maintains the existing J2SE() semantic
of returning exactly one for a given resource by choosing the first
property which matches the java version, in line with the jnlp spec
which indicates a first-match semantic.

The jnlp specification
(https://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html)
allows for multiple `java`/`j2se` in one resource. The existing model of
the Resource struct allowed for zero or one, not zero to *. This leads
to some odd behaviour when encountering multiple j2se properties. In
particular, it seemed to merge the fields together, with the last
winning. The net result (in the case I ran into) was that java VM
arguments only available in 1.9+ were applied to a 1.8 VM, which lead to
it failing to start.

This changes the Resource model to accept an arbitrary number of
J2SE/Java properties. Further, it maintains the existing J2SE() semantic
of returning exactly one for a given resource by choosing the first
property which matches the java version, in line with the jnlp spec
which indicates a first-match semantic.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant