Multiple versions of a non-exported dependency

cowwoc cowwoc at
Wed Aug 31 20:07:01 UTC 2016


I get this point but if "requires" does not take a version number today 
then the Java launcher can never add this functionality in the future. 
On the flip side, if you take a version string today and decide to drop 
it tomorrow ("this value is ignored in Java 12 and higher") there is 
minimal harm.

What's the downside here? How much work is involved in taking in this 


On 2016-08-31 3:51 PM, Alex Buckley [via jigsaw-dev] wrote:
> On 8/31/2016 12:39 PM, cowwoc wrote:
> > I don't even care if you keep the current restrictions in place (allow
> > only one version per layer)
> There is no such restriction in the Java Platform Module System --
> please look at java.lang.reflect.Layer. The restriction to a single
> version of each module resides in the 'java' launcher [*] because we
> don't want to change the class loading behavior of regular Java
> applications.
> Alex
> [*] That's not the full story, as the boot layer with the application
> loader has already been created by the time the launcher runs, but from
> the user's point of view it's all "the 'java' launcher".
> ------------------------------------------------------------------------
> If you reply to this email, your message will be added to the 
> discussion below:
> To unsubscribe from Multiple versions of a non-exported dependency, 
> click here 
> <>.
> <> 

View this message in context:
Sent from the jigsaw-dev mailing list archive at

More information about the jigsaw-dev mailing list