我正在使用服務器序列化和android客戶端反序列化作爲通信協議。類註解導致ClassNotFound異常
使用的POJO被定義爲
@EntityTag(uri = "/t.do", layout_id = "teacher")
public class Teacher extends UIEntity{
private static final long serialVersionUID = (long)0x000010;
public Teacher() throws UIEntityFormatException {super();}
@ViewTag(view_id = "t_name")
private String name;
@ViewTag(view_id = "t_sur_name")
private String surName;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurName() {
return surName;
}
public void setSurName(String surName) {
this.surName = surName;
}
}
的EntityTag和ViewTag是分別定義的。用於服務器寫入對象
代碼是
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
final Teacher t = new Teacher();
t.setName("jacob");
t.setSurName("bush");
final ObjectOutputStream oos = new ObjectOutputStream(response.getOutputStream());
oos.writeObject(t);
oos.flush();
} catch (UIEntityFormatException e) {
e.printStackTrace();
}
}
和代碼在客戶端用於接收該
final ObjectInputStream objectInputStream = new ObjectInputStream(response.getEntity().getContent());
ret = (Result) objectInputStream.readObject();
objectInputStream.close();
使用AndroidHttpClient。並且在客戶端運行時拋出EntityTag.class的ClassNotFound。
教師,UIEntity和註釋放在一個稱爲協議的模塊中,客戶端服務器模塊依賴於此(我正在使用Intellij IDEA 13)我無法弄清楚是什麼導致了異常。
謝謝