IBM Support

PI16341: ClassNotFoundException because looseconfig.xmi does not reference the tmp directory for non-single root projects

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Abstract:
    
    When a Web project is not single root then the looseconfig.xmi
    references the workspace instead of the tmp directory which the
    generated single-root project is created. This occurs when the
    application is missing the web.xml.
    
    Error Description:
    
    Steps to replicate:
    
    1) Open the product with empty workspace
    2) Create a new Enterprise Application called MyProject2
    3) Create a new Dynamic Web Project called MyModule1
    4) Inside MyModule1 create a servlet called test.S1
    5) Add MyProject2 to server WAS8 from RAD (View servers) and
    restart -? works perfectly.
    
    Note: the server defined has the default publish configuration
    'Run server with resources within the workspace'
    
    ??Export the EAR
    6) Stop application MyProject2
    7) Delete application MyProject2 from server
    8) Export 'ear'
    9) Close the product
    
    ??Import the EAR without the module
    10) Open the product with new workspace
    11) Import the application from step (8) but deselect
    MyModule1.war so as not to create the project into new workspace
    12) Add MyProject2 to a v8 WebSphere Application Server from the
    product and restart.
    
    Console output:
    --------------
    '... ApplicationMg A   WSVR0200I: Starting application:
    EAR1_RAD8
    ... ApplicationMg A   WSVR0204I: Application: EAR1_RAD8
    Application build level: Unknown
    ... annotation    W
    com.ibm.ws.webcontainer.annotation.WASAnnotationHelper
    collectClasses SRVE8000W: Skipped class that failed to
    initialize for annotation scanning.
    java.lang.ClassNotFoundException: S1
    
    WORKAROUND:
    
    1. Generate a dummy deployment descriptor (the web.xml file):
    right
    click on web project ? Java EE ? Generate Deployment Descriptor
    Stub.
    The generated file in WebContent/Web-INF/web.xml.The
    ClassNotFoundException won't occur because the looseconfig.xmi
    file will now be pointing to the tmp directory.
    
    2. If possible, do not make the web project non-single root.
    This might be harder to do (because you may want multiple source
    folders), but
    please note that when it is made non-single root, there is a
    performance impact.
    The performance impact is due to the fact that the web project
    needs to be copied to the tmp directory. The underlying reason
    is that WAS doesn't support non-single root and RAD tooling
    needs, therefore, to
    make it single root by copying the source files into the tmp
    directory.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Binary web project without Deployment descriptor gives Class
    not found exception when published on server.
    

Problem conclusion

  • modified LooseConfigHelper.java file to include the case for
    binary web projects without DDL. The fix returned the
    correct path to temp directory in looseconfig.xml file.
    
    The fix for this APAR is included in Rational Application
    Developer v8.5.5.1.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI16341

  • Reported component name

    RATL APP DEV WI

  • Reported component ID

    5724J1901

  • Reported release

    804

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-04-18

  • 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

  • R804 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.0.4","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
21 July 2014