applet出现奇怪的ClassNotFound错误

时间:2010-09-30 02:06:35

标签: java applet

错误:

java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class com.Stuffez.UploadApplet.UploadApplet
    at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3013)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1444)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.Stuffez.UploadApplet.UploadApplet
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at sun.plugin2.applet.Plugin2Manager$12.run(Plugin2Manager.java:2955)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception: java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class com.Stuffez.UploadApplet.UploadApplet

我不知道是什么原因引起的,com.Stuffez.UploadApplet.UploadApplet存在,并且它在Eclipse中工作...

嵌入代码:

<APPLET archive="UploadApplet.jar" code="com.Stuffez.UploadApplet.UploadApplet" width="200" height="200">
</APPLET>

发生了什么事?

1 个答案:

答案 0 :(得分:1)

原因是在applet类的静态初始化期间抛出了一些未经检查的异常,或者是applet类所依赖的某个类。

实际的根本原因异常未显示在您问题中的堆栈跟踪段中。它可能位于完整的堆栈跟踪中,也可能位于较早的堆栈跟踪中。

在类初始化期间抛出异常时,JVM不会再次尝试初始化类。它只报告它“无法初始化类...”而没有告诉你原因。如果你以前从未见过它,这可能会让人感到困惑。