]
David Lloyd moved WFLY-11353 to WFCORE-4266:
--------------------------------------------
Project: WildFly Core (was: WildFly)
Key: WFCORE-4266 (was: WFLY-11353)
Component/s: VFS
(was: Class Loading)
Affects Version/s: (was: 14.0.0.Final)
(was: 15.0.0.Final)
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?