IBM Support

PM94440: A ClassNotFoundException might occur while generating EJB 3.x stubs using the Ant task

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Abstract:
    
    Attempts to generate the EJB 3.x stubs using the
    generateEJB3Stubs Ant task failed due to a class loading issue.
    
    Problem:
    
    It should be noted that this issue is the case 'only' if the Ant
    task is iterating through multiple EJB projects to generate the
    EJB 3.x stubs. The Ant task works successfully if it it executed
    against a single EJB project.
    
    1. Create multiple EJB projects
    2. modify the Ant task generateEJB3Stubs so the script iterates
    through the EJB projects to create EJB 3.0 stubs
    3. It should fail with the following error the second call of
    generateEJB3Stubs will not find the correct classpath:
    
    Error in call target
    d:\build\buildworkspace.xml:66: The following error occurred
    while executing this line:
    d:\build\buildworkspace.xml:86: A required class could not be
    found for stub generation
    at
    org.apache.tools.ant.ProjectHelper.addLocationToBuildException(U
    nknown
    Source)
    at org.apache.tools.ant.taskdefs.Ant.execute(Unknown Source)
    at org.apache.tools.ant.taskdefs.CallTarget.execute(Unknown
    Source)
    .
    .
    .
    Caused by: d:\build\buildworkspace.xml:86: A required class
    could not be found for stub generation
    at com.ibm.etools.j2ee.ant.FailOnErrorTask.handleError(Unknown
    Source)
    at com.ibm.etools.ejb.ant.GenerateEJB3Stubs.genStubs(Unknown
    Source)
    at com.ibm.etools.ejb.ant.GenerateEJB3Stubs.execute(Unknown
    Source)
    .
    .
    
    Local fix:
    
    There is no known workaround at this time.
    

Local fix

Problem summary

  • The generateEJB3Stubs Ant task contained a caching mechanism
    for the classloader for the WebSphere Application Server
    classes and the first project binary content for generating the
    EJB 3.x stubs.  If the project changed to a different project
    (i.e. as a result of calling generateEJB3Stubs on a second
    project) then the classes in that project would not be found,
    resulting in the error message stating that the required
    classes could not be found.
    

Problem conclusion

  • The Ant task-specific caching mechanism for the class loader
    contents has been completely removed. Class loader contents
    needs to be reloaded at every invocation of the Ant task.
    The fix for this APAR is included in Rational Application
    Developer v8.5.5
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM94440

  • Reported component name

    RATL APP DEV WI

  • Reported component ID

    5724J1901

  • Reported release

    851

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-08-02

  • Closed date

    2013-10-15

  • Last modified date

    2013-10-15

  • 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

  • R900 PSY

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

Document Information

Modified date:
15 October 2013