IBM Support

PI92105: ALLOW EMPTY MAIN-CLASS ATTRIBUTE IN MANIFEST.MF FOR APPLICATION CLIENT MODULE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In 8.5.5.12, an application having both of the following
    characteristics will fail to deploy.
    1) A JAR is listed as an application client module in the
    application.xml.
    2) The MANIFEST.MF in the JAR file contains an empty
    "Main-Class:" attribute.
    
    The configuration just described is invalid, because an
    application client module must specify a main class.
    
    The deployment failure results in messages similar to the
    following:
    ...
    ExtendedMessage: An error occurred while opening a nested
    archive: IWAE0006E Archive is not a valid Application Client
    JAR File because the deployment descriptor can not be found
    (case sensitive): META-INF/application-client.xml
    ...
    
    Prior to WAS fix packs 8.0.0.14, 8.5.5.12 and 9.0.0.4 an
    application such as this would have deployed successfully.  In
    these fix packs, APAR PI76439 fixes a problem in which a
    utility JAR is misidentified as an application client module
    when the MANIFEST.MF contains an empty "Main-Class:" attribute.
    However, if the application.xml also identifies such a JAR as
    an application client module, the deployment fails because
    verification was added to ensure an application module has a
    main class.
    
    The best solution is to update the application.xml by removing
    the misidentification of the JAR as an application client
    module, since a JAR cannot function as an application client
    without a main class. However, to facilitate a quick solution,
    a JVM custom property will be provided to turn off the main
    class verification that was added in PI76439.
    

Local fix

  • Update the application.xml by removing the misidentification of
    the JAR as an application client module
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server having an application with an        *
    *                  application.xml that indicates a JAR is an  *
    *                  application client module, but the          *
    *                  MANIFEST.MF of the JAR contains an empty    *
    *                  "Main-class" attribute.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: Application containing a JAR with       *
    *                      an empty "Main-class" attribute in      *
    *                      MANIFEST.MF fails to deploy.            *
    ****************************************************************
    * RECOMMENDATION:  The problem can be avoided by updating the  *
    *                  application.xml.  Remove the module         *
    *                  element that identifies the JAR as an       *
    *                  application client module.  For example:    *
    *                  <module id="Module_1397758295569">          *
    *                  <java>NotAnAppClient.jar</java>             *
    *                  </module>                                   *
    ****************************************************************
    In WAS 8.0.0.14, 8.5.5.12 and 9.0.0.4, an application having
    both of the following characteristics will fail to deploy.
    1) A JAR is listed as an application client module in the
    application.xml.
    2) The MANIFEST.MF in the JAR file contains an empty
    "Main-Class:" attribute.
    The configuration just described is invalid, because an
    application client module must specify a main class.
    The deployment failure results in messages similar to the
    following:
    ...
    ExtendedMessage: An error occurred while opening a nested
    archive: IWAE0006E Archive is not a valid Application Client
    JAR File because the deployment descriptor can not be found
    (case sensitive): META-INF/application-client.xml
    ...
    Prior to WAS fix packs 8.0.0.14, 8.5.5.12 and 9.0.0.4 an
    application such as this would have deployed successfully.  In
    these fix packs, APAR PI76439 fixes a problem in which a
    utility JAR is misidentified as an application client module
    when the MANIFEST.MF contains an empty "Main-Class:" attribute.
    However, if the application.xml also identifies such a JAR as
    an application client module, the deployment fails because
    verification was added to ensure an application module has a
    main class.
    The best solution is to update the application.xml by removing
    the misidentification of the JAR as an application client
    module, since a JAR cannot function as an application client
    without a main class. However, to facilitate a quick solution,
    a JVM custom property will be provided to turn off the main
    class verification that was added in PI76439.
    

Problem conclusion

  • The best solution is to correct the application.xml of the
    application by removing the "module" element that identifies
    the JAR as an application client module.  For example,
    <module id="Module_1397758295569">
            <java>NotAnAppClient.jar</java>
    </module>
    
    However, a custom property is provided to allow the
    application to deploy without modification.
    
    org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.allowApp
    ClientWithoutMainClass=true
    
    Setting the property to true causes the invalid configuration
    to be ignored during application deployment.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 8.0.0.15, 8.5.5.14, 9.0.0.7  Please refer to
    the Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI92105

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-01-05

  • Closed date

    2018-01-17

  • Last modified date

    2018-02-21

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
19 October 2021