Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 ofthe 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.