RFR: 8156499 Update jlink to support creating images with modules that are packaged as multi-release JARs

Alan Bateman Alan.Bateman at oracle.com
Mon Aug 22 18:08:23 UTC 2016

On 22/08/2016 18:47, Steve Drach wrote:

> :
> If there is a class in a versioned directory that is not in the base directory, then that class must not be public or protected.  It’s not part of the public interface of the multi-release jar.
It's also a modular JAR and so if the class is not in an exported 
package then it's okay for it to be public.

> It exists purely because another class in the same versioned directory depends on it.  If we are creating a versionedStream for the version that the non-public class is in, it will be in finalNames, otherwise it won’t be.  I believe the code is correct here.
> New concealed packages can be added in a versioned section of the jar file created by jar tool.  Should classes in concealed packages be added to finalNames or not?  Or stated differently, for jlink, should a versionedStream contain entries in concealed packages?
Er, I thought the plan was for the set of concealed packages to be the 
same. It's okay for the ConcealedPackages in the base section to include 
"empty" packages.


More information about the jigsaw-dev mailing list