2013-10-05 26 views
0

我知道這個問題已被問了很多次,但任何答案都可以幫助我解決問題。 我使用Java版本(NetBeans)一個IM程序的工作...類未找到服務器客戶端Java

我有一個名爲在客戶端「消息」類,我把類從客戶機到服務器,並在服務器有一個類消息類類似於消息類客戶端方。

我使用的ObjectInputStream/ObjectOutputStream的發送/從/到服務器, 和服務器程序訴說收到類別:ClassNotFound的異常,並指向存在於客戶端消息類。

如何解決這個問題。

點: - 對雙方類信息存在,而不能錯過! - I傳遞的對象不是類 - 類是可序列化 - 我用鑄造:

msg= (message) SomeObjectInputStream.ReadObject(); 

這裏是確切的錯誤消息:

2013年10月5日4: 32:40 PM EIQserver.EIQserver運行 SEVERE:null

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) 

我的類:

公共類信息實現Serializable {...}

和錯誤在這裏指出:

fromuser=(Message) OIS.readObject(); 

重要:我也定義的類在同文件的客戶端類和服務器類(而不是分離的文件),但仍然得到相同的例外!

回答

0

我找到了解決方案: 1)不要在兩邊定義類)cliet &服務器,只需在客戶端定義一個類即可。 2)在服務器端

import clientSide.Message; 

導入類,這就是是

0

看起來您的代碼中存在拼寫錯誤。客戶端上的「消息」和服務器上的「massege」。

+0

沒有,錯字這裏只是在後,在我的代碼相同的名稱完全相同 – EsmaeelQash