[jboss-jira] [JBoss JIRA] (AS7-6966) Class-Path manifest entries for WARs-in-EAR not handled properly
James Livingston (JIRA)
jira-events at lists.jboss.org
Mon Apr 22 02:50:53 EDT 2013
James Livingston created AS7-6966:
-------------------------------------
Summary: Class-Path manifest entries for WARs-in-EAR not handled properly
Key: AS7-6966
URL: https://issues.jboss.org/browse/AS7-6966
Project: Application Server 7
Issue Type: Bug
Components: Server
Affects Versions: EAP 6.1.0.Alpha (7.2.0.Final)
Reporter: James Livingston
Assignee: Jason Greene
ManifestClassPathProcessor handles the processing of Class-Path entries in deployments. The handling of those entries in sub-deployments is broken.
https://github.com/doctau/examples/tree/master/war-manifest-classpath builds an EAR containing a utility JAR and two WARs, where both WARs refer to the jar via Class-Path manifest headers. The jar is not in the EAR's library directory nor in application.xml
The resulting module setup will result in the jar being added to the first WAR's module, and the remaining WAR(s) depending on a separate "jar classloader". All WARs should depend on the single shared jar classloader.
When ManifestClassPathProcessor.handlingExistingClassPathEntry() runs for the first war, it will call createAdditionalModule(), which calls createResourceRoot(). The "deploymentUnit.addToAttachmentList(Attachments.RESOURCE_ROOTS, resourceRoot)" adds it to the resource roots for that WAR.
When handlingExistingClassPathEntry() runs for the second (and subsequent) WAR, it will already be in the additionalModules list, so "target.addToAttachmentList(Attachments.CLASS_PATH_ENTRIES, moduleSpecification.getModuleIdentifier())" gets run.
I believe the step of adding it to the CLASS_PATH_ENTRIES attachment needs to happen on the first WAR (so it is added as a module dependency), and it should not be added to the DU RESOURCE_ROOTS so it is not in the WAR's own classloader.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list