首先,我在做一个项目时候发现的,不知道什么原因:内容如下客户端中包:
com.qq.client.tools
package com.qq.client.tools;
import java.io.ObjectOutputStream;
import java.net.Socket;
import com.qq.client.user.user;
public class testClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Socket s=new Socket("127.0.0.1",1586);
ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
user u=new user();
u.setId(100000);
oos.writeObject(u);
}catch(Exception e)
{
e.printStackTrace();
}
}
}
com.qq.client.user:
package com.qq.client.user;
public class user implements java.io.Serializable {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
服务器包
com.qq.server.tools:
package com.qq.server.tools;
import com.qq.server.user.user;
import java.io.ObjectInputStream;
import java.net.*;
public class TestServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
System.out.println("服务器正在监听..........");
ServerSocket ss=new ServerSocket(1586);
Socket s=ss.accept();
ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
user u=(user)ois.readObject();
System.out.println(u.getId());
}catch(Exception e){
e.printStackTrace();
}
}
}
com.qq.server.user:
package com.qq.server.user;
public class user implements java.io.Serializable {
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
这样去调试一直会出现一个错误,不知道什么原因:
java.lang.ClassNotFoundException: com.qq.client.user.user老是出现这个异常;
这个问题折腾了我n个小时;
后来我把上面的包名该了哈!问题就消失了,不知道什么原因
也就是包名改短了:com.qq.client.tools该成com.tools其他相应的该了
这种样我尝试了多次;问题就解决,真的很疑惑!~~!