FIX: NoClassDefFoundError When a Valid Class Definition ExistsID: Q177754
|
A Java applet or program that attempts to load certain valid Java classes
may fail with a NoClassDefFoundError exception.
If the applet is running inside Internet Explorer, there may be no visible
symptoms, except that the applet does not run properly. If Java Logging is
enabled in Internet Explorer. However, the file Javalog.txt file, created
in the Java subdirectory of the Windows directory, contains a log of the
exception and a call stack. Here is a typical example of the exception:
java.lang.NoClassDefFoundError: COM/objectspace/jgl/HashMap
The Microsoft virtual machine verifies that the .class file that defines each Java class is valid before loading it. Version 4.79.2252 erroneously decides that certain .class files are not valid, and therefore, fails to load them. When it fails to find a valid definition for a class, the Microsoft virtual machine throws a NoClassDefFoundError exception.
Download and install the current Microsoft virtual machine from the following Web site:
http://www.microsoft.com/java/download.htm
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Microsoft virtual machine, version 4.79.2334 and later.
One class that the Microsoft virtual machine fails to validate is the HashMap class from ObjectSpace's JGL class library. It is possible to produce other .class files that the Microsoft virtual machine will fail to validate using a Java compiler, including Microsoft's Visual J++ or SDK 2.0 for Java.
import COM.objectspace.jgl.*;
public class HashMapTest
{
public static void main (String args[])
{
HashMap hm = new HashMap();
}
}
Version 4.79.2252 of the Microsoft virtual machine throws a NoClassDefFoundError.
Version 4.79.2334 of the Microsoft virtual machine executes this with no errors.
JGL is manufactured by ObjectSpace, Inc., a vendor independent of
Microsoft; we make no warranty, implied or otherwise, regarding this
product's performance or reliability.
Further information about JGL can be found at the following Web site:
http://www.objectspace.com/jgl/For the latest Knowledge Base articles and other support information on Visual J++ and the SDK for Java, please see the following pages on the Microsoft Technical Support site:
http://support.microsoft.com/support/visualj/
http://support.microsoft.com/support/java/
Additional query words: NoClassDefFoundError
Keywords : kb3rdparty kbJavaVM kbSDKJava
Version : WINDOWS:2.0,4.0
Platform : WINDOWS
Issue type : kbbug
Last Reviewed: July 26, 1999