JApplet中的类未找到异常

时间:2010-05-11 02:34:17

标签: java applet

我使用JApplet创建了一个简单的Applet,一切似乎都运行正常,但是一旦我在applet中创建了一个名为ChatUser的用户定义类的对象,我就会收到此错误: -

SEVERE: java.lang.ClassNotFoundException: applet.ChatUser
        at com.sun.enterprise.loader.ASURLClassLoader.findClassData(ASURLClassLoader.java:713)
        at com.sun.enterprise.loader.ASURLClassLoader.findClass(ASURLClassLoader.java:626)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
        at misc.ChatClient.run(ChatClient.java:43)

知道什么是错的吗?它只发生在我创建任何用户定义类的对象时。我需要设置一些安全设置吗?请帮忙:(

2 个答案:

答案 0 :(得分:1)

这只是意味着applet的运行时类路径中缺少所提到的类。

您是否意识到applet运行的环境与Web服务器运行的环境完全不同,即客户端计算机?客户端需要首先下载所需的库。该类应包含在applet的主JAR文件中或applet的archive参数中引用的任何库中。您可以指定多个JAR的逗号分隔。

<param name="archive" value="applet.jar,library1.jar,library2.jar">

这指示客户端在运行applet之前下载哪个JAR。

答案 1 :(得分:0)

它看起来像是一个类路径问题,就像你启动applet一样。

如果使用NetBeans运行文件启动applet,Netbeans可能会将您的项目类路径作为Applet的类路径,而不是您在Applet的HTML页面中指定的内容。 如您所见,类加载器是com.sun.enterprise.loader.ASURLClassLoader,它不是Applet使用的标准类加载器(URLClassLoader)。 使用浏览器或appletviewer或jnlp(Java webstart)运行您的applet。