On 04/10/2018 08:35, Luke Hutchison wrote:
JEP 238 says "JAR metadata, such as that found in the MANIFEST.MF file
and the META-INF/services directory, need not be versioned." However,
if a manifest file is present in the base layer /and/ a version layer,
what are the correct semantics? e.g.
META-INF/MANIFEST.MF :
Multi-Release: true
X: 1
Y: 2
META-INF/versions/9/META-INF/MANIFEST.MF :
X: 3
The intention is that the META-INF directory cannot be versioned. I
agree the JEP and the JarFile API spec isn't very clear on this point.
The implementation does handle it correctly, meaning getJarEntry will
locate the resource in top-level META-INF directory, not the versioned
section. It will also not find resources that are only present in the
META-INF directory of versioned sections.
-Alan