0
所以这是我的问题。通过ObjectStream序列化问题发送/接收
我有一个客户端和一个服务器java程序。 每个人都建立并管理另一个ObjectInputStream/ObjectOutputStream。
我希望能够发送对象(鉴于所有发送的对象将扩展我创建的数据包类)。 的问题是,即使客户端和服务器可能对包类完全相同的代码,我得到一个错误:
java.lang.ClassNotFoundException: shared.Packet0Connect
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.mooman219.gmail.server.ReceivePacketThread.run(ReceivePacketThread.java:19)
看来,Java会把该服务器上的数据包类是不同的在客户端上课。
有没有一种方法可以解决这个问题(除了在客户端和服务器上都有相同的包名)?
会有任何解决方法吗? –
@Joe:为什么你不能使用完全一样的课程?你为什么要复制它的任何一端?这违反了[DRY](http://en.wikipedia.org/wiki/Don%27t_repeat_yourself)。 –
我想在两端都有完全相同的课程,只是在不同的包装中。 –