RFR - 8132734: java.util.jar.* changes to support multi-release jar files

Steve Drach steve.drach at oracle.com
Wed Nov 4 02:41:40 UTC 2015


> On Nov 3, 2015, at 5:24 PM, Wang Weijun <weijun.wang at oracle.com> wrote:
> 
> Curious that you added a new method called jarFile.getRuntimeVersionedEntry(entryName).

It’s new to JarFile, but not new to the changeset, it’s been in there since the reviews started.

> Is this the *only* method you would call for a multi-release jar?

No, it’s a method we had to add to support runtime versioning for the Class.getResource() method.  We either had to set runtime versioning for all JarFiles obtained from a JarURLConnection or set it specifically for a resource entry retrieved by the Class.getResource() method, that uses a JarURLConnection.  It’s a rather convoluted path through the system, but it you follow it, you’ll see what we did and how — look at the changes for JarURLConnection.  It’s a rather specialized method that I wish could be private, but it can’t be.  Having said that, someone might find a use for it.

It’s equivalent to JarFile.setRuntimeVersioned().getJarEntry(), but it doesn’t set a permanent versioning strategy for the JarFile.  See MultiReleaseJarProperties testRuntimeVersioning test.

> If so, is it still necessary to modify the old getEntry() method?

Yes, for general entry retrieval as well as for loading classes.


> 
> Thanks
> Max
> 
>> On Nov 4, 2015, at 1:11 AM, Steve Drach <steve.drach at oracle.com> wrote:
>> 
>> Webrev: http://cr.openjdk.java.net/~psandoz/multiversion-jar/jar-webrev/
>> 
> 




More information about the core-libs-dev mailing list