]
Daniel Schwering commented on WFCORE-4266:
------------------------------------------
Thank you for looking into this. I added some comments to your commit. When I manually set
the version to 11 in the debugger, the correct file is loaded from the MR Jar
Classes for newer versions are not loaded from Multi-Release-JARs in
WARs
-------------------------------------------------------------------------
Key: WFCORE-4266
URL:
https://issues.jboss.org/browse/WFCORE-4266
Project: WildFly Core
Issue Type: Bug
Components: VFS
Environment: Java 9+
Reporter: Daniel Schwering
Priority: Major
Attachments: buggywar.src.zip, buggywar.war, multireleaselib-0.0.1-SNAPSHOT.jar,
multireleaselib-0.0.1-SNAPSHOT.jar, multireleaselib.src.zip, multireleaselib.src.zip
1
down vote
favorite
Since Java 9 there are Multi-Release JARs ([
MRJARS|https://openjdk.java.net/jeps/238])
that allow different classes for different Java versions to be included in one JAR file. I
was surprised when a Wildfly 14 running on Java 11 executed Java-8-code in a JAR included
in a WAR although the JAR was a MRJAR with code for Java 11. That JAR included as a
dependency for a regular Java SE project is running different code depending on the
running JRE, but when included in a WAR, the Java-11-code seems to be ignored.
Is that expected behavior for a webserver, as Java EE 8 does not explicitly require Java
9 (which introduced MRJARs) but only Java 8?