IBM Support

IC76169: PCOM: NOCLASSDEFFOUND ERROR RUNNING JAVA APPLICATION ON PCOM 6.0.2

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • IBM Personal Communications 6.0.2 on Windows 7.
    
    We are running some screen-scraping Java applications using Host
    Access Class Libraries for Java, provided with PCOM in
    PCSECLJ.jar file
    
    Applications were running fine with PCOM 5.7. After upgrading
    to PCOM 6.0.2, they are failing when referencing classes
    
    ECLField, ECLFieldList, etc.
    
    Exception in thread "main" java.lang.NoClassDefFoundError:
    org/ohio/iOhioFields
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(Unknown Source)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown
    Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$000(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native
    Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
    Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
    Caused by: java.lang.ClassNotFoundException:
    org.ohio.iOhioFields
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native
    Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
    Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
    
    After an initial analysis of the problem, it appears that
    package "org.ohio.*" previously shipped in PCSECLJ.jar version
    5.x , is no longer supplied in version 6.0 , causing the nodef
    error seen above.
    
    javadoc (supplied with Personal Communication 6.0.2) shows
    
    public class ECLField
    extends Object
    implements ECLConstants, iOhioField
    
    which makes us believe there could be a packaging error
    somewhere in the PCOM 6.0.x distribution.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users referencing classes from           *
    *                 PCSECLJ.JAR                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: User applications fail when             *
    *                      referencing classes ECLField,           *
    *                      ECLFieldList, etc.                      *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When instantiating or referrring to ECLField (or similar)
    classes, the user application gets a runtime error saying that
    iOhio objects are not found.
    

Problem conclusion

  • PCSECLJ.JAR has been rebuilt to include the Ohio package even
    though these Ohio classes are not exposed to the user.
    
    Fix is scheduled for PCOM 6.0.3 Refresh Pack
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC76169

  • Reported component name

    PCOMM V5 COMBO-

  • Reported component ID

    5639I7000

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2011-05-04

  • Closed date

    2011-05-10

  • Last modified date

    2011-05-10

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

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

    IP23318

Modules/Macros

  • PCSECLJ
    

Fix information

  • Fixed component name

    PCOMM V5 COMBO-

  • Fixed component ID

    5639I7000

Applicable component levels

  • R601 PSY

       UP

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSEQ5Y","label":"Personal Communications"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
06 January 2022