これが私の質問です。
クライアントとサーバーのJavaプログラムがあります。それぞれが、もう一方とObjectInputStream/ObjectOutputStreamを確立および管理します。
オブジェクトを送信できるようにしたい(送信されたすべてのオブジェクトが、作成したPacketクラスを拡張することを前提としています)。問題は、クライアントとサーバーがパケットクラスに対してまったく同じコードを持っている場合でも、エラーが発生することです。
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は、サーバー上のPacketクラスがクライアント上の別のクラスであると考えているようです。
これを修正する方法はありますか(クライアントとサーバーの両方で同じパッケージ名を使用する以外に)?