Closed glassfishrobot closed 9 years ago
Reported by bafco
ldemichiel said: Section EE.8.5.2, item "1." is defining the modules that need to be processed. While "JAR" in section EE.7.2.4 is used to refer to such modules, item "1.d" is also using "JAR" in the restricted sense to refer to .jar files – except however in "1.d.iii" where it is also used to refer to JAR files in the sense of modules.
The following change to "1.d" would make this clearer (and consistent with section EE.7.2.4).
i. If the .jar file contains a META-INF/MANIFEST.MF file with a Main-Class attribute, or contains a META-INF/application-client.xml file, consider the .jar file to be an application client module.
ii. If the .jar file contains a META-INF/ejb-jar.xml file, or contains any class with an EJB component-defining annotation (Stateless, etc.), consider the .jar file to be an EJB module.
iii. All other .jar files are ignored unless referenced by a JAR file discovered above using one of the JAR file reference mechanisms such as the Class-Path header in a manifest file.
We plan to address this in an Java EE 7 MR.
ldemichiel said: Fixed in Java EE 7 MR
This issue was imported from java.net JIRA JAVAEE_SPEC-38
Marked as fixed on Wednesday, October 14th 2015, 2:47:08 pm
EE.8.5.2 Deploying a Java EE Application: d. For all files in the application package with a filename extension of .jar, but not contained in the lib directory, do the following: (0) ... iii. All other JAR files are ignored unless referenced by a JAR file discovered above using one of the JAR file reference mechanisms such as the Class-Path header in a manifest file. (1)
According to EE.7.2.4 Data Formats JAR files—JAR (Java Archive) files are the standard packaging format for Java technology-based application components, including the ejb-jar specialized format, the Web application archive (WAR) format, the Resource Adapt-er archive (RAR), and the Java EE enterprise application archive (EAR) format a possible meaning of (1) can be that .jar files mentioned in (0) are NOT ignored if they are referenced by some JAR file (this includes also .war files) discovered according to subparagraph a., b. or c. Another possible interpretation is that JAR file discovered above from (1) refers only to subparagraphs d.i. and d.ii.
This ambiguity led to the following situation: GlassFish ignores .jar files referenced from .war files, while WildFly does not ignore them. (Not ignoring them in the before-mentioned case makes much more sense to me.)
The original intention of subparagraph d.iii. should be clarified so it is not ambiguous anymore.