2013-01-04 21 views
0

我有兩個節目,HunterClient和HunterServer類錯誤而重構的序列化對象

兩個程序具有主類和一個消息類別。消息類是除HunterClient項目之外的精確副本,其中一個在HunterServer項目中。 (兩者都具有類中的一個項目減速)

這是我如何通過客戶端發送的第一個對象

String str = scanner.next(); 
//Send down Stream 
out.writeObject(new Message(str)); 
out.flush(); 

這是我收到的對象在另一端

try { 
Message message = (Message) in.readObject(); 
} catch (Exception ex) { 
      System.out.println("err... " + ex); 
     } 

但是,運行此並嘗試從客戶端發送消息到服務器我收到以下錯誤信息。

嗯...拋出java.lang.ClassNotFoundException:hunterclient.Message

被接收在HunterMessenger不HunterClient該消息。這兩個程序都是作爲NetBeans項目構建的...我理解這個錯誤的方式是,程序正在尋找huntermessenger程序中的hunterclient類...我怎樣才能使用它的本地信使類?

這是我的兩個消息類

服務器

package huntermessenger; 

import java.io.Serializable; 

public class Message implements Serializable{ 

private String message; 

public Message(String message) { 
    this.message = message; 
} 

public String getMessage(){ 
    return message; 
} 
} 

package hunterclient; 

import java.io.Serializable; 

public class Message implements Serializable{ 

private String message; 

public Message(String message) { 
    this.message = message; 
} 

public String getMessage(){ 
    return message; 
} 
} 

回答

0

你作好HunterClient類序列化的客戶端?

+0

是的,兩者都是可海洋化的,除了項目刪減以外相互之間的確切副本 –

+1

根據JVM,客戶端和服務器中的這兩個Message類都被認爲是不同的。客戶端類尋找服務器Message Class,這就是爲什麼你要獲得類沒有發現異常。 – OCJP

+0

好的......有沒有辦法解決這個問題? –