[jboss-jira] [JBoss JIRA] (WFLY-11353) Classes for newer versions are not loaded from Multi-Release-JARs in WARs
Brian Stansberry (Jira)
issues at jboss.org
Fri Jan 4 11:55:00 EST 2019
[ https://issues.jboss.org/browse/WFLY-11353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13678487#comment-13678487 ]
Brian Stansberry commented on WFLY-11353:
-----------------------------------------
Our theory on this is that the JBoss VFS library is not handling MR jars properly.
A possible workaround (I confess I haven't tried it) is to package the MR jar in a JBoss Modules module in the $JBOSS_HOME/modules dir and add a dependency on the module to the war.
http://docs.wildfly.org/14/Developer_Guide.html#Class_Loading_in_WildFly describes how to add a dependency on a module, either via MANIFEST.mf (see 'Dependencies: Manifest Entries') or via the jboss-deployment-structure.xml descriptor (http://docs.wildfly.org/14/Developer_Guide.html#jboss-deployment-structure-file)
> Classes for newer versions are not loaded from Multi-Release-JARs in WARs
> -------------------------------------------------------------------------
>
> Key: WFLY-11353
> URL: https://issues.jboss.org/browse/WFLY-11353
> Project: WildFly
> Issue Type: Bug
> Components: Class Loading
> Affects Versions: 14.0.0.Final, 15.0.0.Final
> 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?
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
More information about the jboss-jira
mailing list