> Any reason the JarEntry.get/setSize() are the only ZipEntry methods get 
> overridden?

It didn’t seem necessary.  The root entries are the “public interface”, we’re 
just providing aliased entry contents.

> 
> -Sherman
> 
> On 10/14/2015 09:07 AM, Steve Drach wrote:
>> Hi,
>> 
>> Let’s try again, this time there are tests.  Please review the following 
>> webrev that adds support for multi-release jars as specified in JEP-238.
>> 
>> Issue: https://bugs.openjdk.java.net/browse/JDK-8132734
>> JEP 238: https://bugs.openjdk.java.net/browse/JDK-8047305
>> Webrev: http://cr.openjdk.java.net/~psandoz/multiversion-jar/jar-webrev/
>> 
>> A multi-release jar file is a jar file that contains a manifest with a main 
>> attribute named "Multi-Release", and also contains a directory 
>> "META-INF/versions" with subdirectories that contain versioned entries 
>> segregated by the major version of Java platform releases. A versioned 
>> entry, with a version n, in the "META-INF/versions/{n}" directory overrides 
>> the unversioned root entry as well as any entry with a version number i  
>> where i<  n.
>> 
>> The changes in this webrev implement an aliasing mechanism in JarEntry so 
>> that when a JarFile client retrieves a JarEntry, the data from the entry 
>> pointed to by the alias is returned.  There are methods to configure whether 
>> or not aliasing is enabled, and if it is, which version of an entry the 
>> alias points to.
>> 
>> When a JarFile is used by a class loader to load class resources, the 
>> default version retrieved is the runtime version of the Java platform (i.e. 
>> a version 9 entry is returned when the platform is JDK 9).  This mechanism 
>> can be configured by System properties.
>> 
>> Thanks,
>> Steve
> 

Reply via email to