标签:set return unknown ott index body 存在 object get
java.lang.ClassNotFoundException: xxxxxxxxxxxx 
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 xxxxxxxxxxxxxxxxx(TestMetadata.java:103) 
提示类找不到,但实际上类文件是确确实实存在的,那就上网搜。果然找到答案。
能够參考文章: http://www.javapractices.com/topic/TopicAction.do?Id=45
最主要的两点:
1) 须要相同的包名
2) 相同的序列化ID
package testServerAndClient;
import java.io.IOException;  
import java.io.ObjectOutput;  
import java.io.ObjectOutputStream;  
import java.net.Socket;  
import java.net.UnknownHostException;  
  
public class client {  
/** 
 * 欢迎大家使用这个源代码 如有疑问请加qq群:151648295 
 *  
 */  
    /** 
     * @param args 
     */  
    public static void main(String[] args) {  
        // TODO Auto-generated method stub  
   new client();  
    }  
     
    public client(){  
        try {  
            Socket s=new Socket("127.0.0.1",9999);  
            ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());  
            User u=new User();  
            u.setName("xiangqiao123");  
            u.setPass("123");  
            oos.writeObject(u);  
              
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
          
          
    }  
}  
package testServerAndClient;
import java.io.IOException;  
import java.io.ObjectInputStream;  
import java.net.ServerSocket;  
import java.net.Socket;  
public class Server {  
  
  
    public static void main(String[] args) {  
      
    new Server();  
    }  
    public Server(){  
          
        try {  
            ServerSocket ss=new ServerSocket(9999);  
            Socket s=ss.accept();  
              
             ObjectInputStream ois= new ObjectInputStream(s.getInputStream());  
             User user=(User)ois.readObject();  
              
            System.out.println(user);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
          
    }  
  
}   
package testServerAndClient;
import java.io.Serializable;  
public class User implements Serializable {  
private String name;  
private String pass;  
public String getName() {  
return name;  
}  
public void setName(String name) {  
this.name = name;  
}  
public String getPass() {  
return pass;  
}  
public void setPass(String pass) {  
this.pass = pass;  
}  
}  
对象逆序列化报错:java.lang.ClassNotFoundException
标签:set return unknown ott index body 存在 object get
原文地址:http://www.cnblogs.com/zhchoutai/p/7260080.html