IBM Support

PM94629: Publishing a utility module containing a web-fragment.xml results in a ClassNotFoundException

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Abstract:
    
    Attempting to publish a utility module with web fragments in a
    non-single-root EAR results in ClassNotFoundException.
    
    Problem:
    
    1. Create a new Dynamic Web project within an EAR
    2. Create a simple JAR with one class and a hello world method
    and a file META-INF/web-fragment.xml containing the following
    content and export it as a JAR file:
    
    ??xml version='1.0' encoding='ISO-8859-1'??
    ?web-fragment xmlns='http://java.sun.com/xml/ns/javaee'
        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
        xsi:schemaLocation='http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd'
        version='3.0' metadata-complete='true'?
        ?name?awebfragment?/name?
        ?distributable/?
    ?/web-fragment?
    3. Open Project Properties, Deployment Assembly, click Add ?
    Archives from File System and point to the .jar file from step
    2.
    4. Create a new servlet referencing the class with the hello
    world method from 2.
    5. Break the single-root rule, e.g. by changing the Java output
    folder from WebContent/WEB-INF/classes to classes
    6. Run the servlet on WebSphere Application Server 8.0 or
    WebSphere Application Server 8.5
    
    Actual Result:
    ClassNotFoundException for the class within .jar file from 2
    since it is not copied to
    .metadata\.plugins\org.eclipse.wst.server.core\tmpX
    
    Expected Result:
    Files are copied correctly by Rational Application Developer
    
    Local fix:
    
    Make your project single-root
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Utility modules containing web-fragment.xml will be missing
    during a publish, which will cause a ClassNotFoundException.
    

Problem conclusion

  • The utility modules containing web-fragment.xml will now be
    referenced in the loose configuration file, which will allow
    the server to find this utility modules.
    
    The fix for this APAR is included in Rational Application
    Developer v8.5.5.1.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM94629

  • Reported component name

    RATL APP DEV WI

  • Reported component ID

    5724J1901

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-08-06

  • Closed date

    2014-07-21

  • Last modified date

    2014-07-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

    RATL APP DEV WI

  • Fixed component ID

    5724J1901

Applicable component levels

  • R850 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSRTLW","label":"Rational Application Developer for WebSphere Software"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
21 July 2014