0

我知道这个问题已经被问过很多次了,但是任何答案都可以帮助我解决这个问题。我正在使用 Java (netbeans) 开发一个 IM 程序...

我在客户端有一个名为“message”的类,我将这个类从客户端传递到服务器,在服务器中有一个名为messege的类,类似于客户端的messege类。

我使用 ObjectInputStream / ObjectOutputStream 从/向服务器发送/接收类,服务器程序告诉:ClassNotFound 异常并指向客户端存在的消息类。

如何解决这个问题呢。

要点: - 班级留言存在于两侧,不容错过!- 我传递了一个对象而不是一个类 - 这些类是可序列化的 - 我使用了强制转换:

msg= (message) SomeObjectInputStream.ReadObject();

这是确切的错误消息:

2013 年 10 月 5 日下午 4:32:40 EIQserver.EIQserver 运行严重:空

java.lang.ClassNotFoundException: RandomSend.Message
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:622)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1593)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
    at EIQserver.EIQserver.run(EIQserver.java:55)

我的课:

公共类 Message 实现 Serializable {...}

错误指向这里:

  fromuser=(Message) OIS.readObject();

重要提示:我还在客户端类和服务器类的同一文件中定义了该类(而不是单独的文件),但仍然得到相同的异常!!!!

4

2 回答 2

0

看起来您的代码中有错字。客户端上的“消息”和服务器上的“按摩”。

于 2013-10-05T12:49:26.417 回答
0

我找到了解决方案:1)不要在两侧定义类)客户端和服务器,只需在客户端上定义一个类。2)在服务器端导入类

import clientSide.Message;

那就是

于 2013-10-06T11:15:34.527 回答