Uploaded image for project: 'Maven EAR Plugin'
  1. Maven EAR Plugin
  2. MEAR-182

Skinny WAR's - Skip Class-Path Modification in Manifest

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.9
    • 2.10
    • 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

        1. MEAR-182-patch.txt
          12 kB
          Mario Däpp

        Issue Links

          Activity

            People

              khmarbaise Karl Heinz Marbaise
              mdaepp Mario Däpp
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: