PRB: JAVAH Cannot Find Classes When Executing

ID: Q225523


The information in this article applies to:
  • Microsoft SDK for Java, versions 3.1, 3.2


SYMPTOMS

When running Javah.exe on a Java class, you may get one of the following or similar errors:

Signalled error "java/lang/NoClassDefFoundError" with detail "java/io/Serializable"
-or-
java.lang.Object not found: aborting


CAUSE

Javah.exe, unlike the other Microsoft SDK for Java tools, requires the user to specify a class path via the "-classpath" command line option or via the CLASSPATH environment variable. If the class path is not specified, is invalid, or contains corrupted or missing data, then Javah.exe does not work.


RESOLUTION

There are a couple of things to check if you receive one of these error message:

  • Verify that the CLASSPATH environment variable or the "-classpath" command line option points to
    
    [windir]\java\classes\Classes.zip 
    and the directory that contains your class files.


  • Open Classes.zip and verify that the class specified in the error message is contained within. If Classes.zip is corrupt or if the specified class is missing, run the following from a DOS command prompt to regenerate a new Classes.zip file:
    
    clspack -auto 



STATUS

This behavior is by design.

Additional query words: JAVAH.EXE JAVAH

Keywords : kbJNative kbSDKJava kbGrpJava kbSDKJava320
Version : WINDOWS:3.1
Platform : WINDOWS
Issue type : kbprb


Last Reviewed: October 14, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.