Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.9
-
None
-
Patch
Description
From Java EE 5, a library directory may be specified in the application.xml (element library-directory). The Maven EAR Plugin already supports this for generating the application.xml (value of property defaultLibBundleDir).
The Java EE 5 specification mandates that all JAR files contained in the library directory be made available to all modules within the EAR file (cf. chapter EE.8.2.1 Bundled Libraries, section 2).
If one specifies both the skinnyWars (value = true) and defaultLibBundleDir parameters, the libraries will be removed from the WAR and copied to the defaultLibBundleDir. They will also be added to the Class-Path in the WAR files manifest. This is unnecessary as per the Java EE 5 specification. Even worse, it breaks my EAR on WebLogic (classloading issues).
I therefore propose the following improvement to the skinny WAR's functionality: If the Java EE version is 5 or greater and the defaultLibBundleDir has been specified, the Class-Path in the WAR's manifest should remain unchanged.
I've created a corresponding patch and integration test.
Attachments
Attachments
Issue Links
- causes
-
MEAR-292 skipClassPathModification option should prevent adding Class-Path entry into MANIFEST.mf
- Closed
- links to