1

Eclipse 内から Java クライアントを実行して、RMI を使用してサーバー アプリに接続すると、例外が発生します: java.io.StreamCorruptedException: 無効なタイプ コード: 01

これはEclipse内からのみ発生し、他の場所(IntelliJ、コマンドラインなど)では発生しません。

誰が何が起こっているのか知っていますか?

4

2 に答える 2

2

以前にこの問題に遭遇したようです;)そして、JBoss でも見られます

通常は次のとおりです。

ClassLoaderビューアが実行されているときにコンテキストにある はですorg.apache.catalina.loader.WebappClassLoader

したがって、次のようにすると:

ClassLoader savedClassLoader = Thread.currentThread.getContextClassLoader();
if (savedClassLoader.getClass().getName().equalsIgnoreCase("org.apache.catalina.loader.WebappClassLoader")){
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
}

保存したローダーを に戻すと、IConnection.Close()機能します

于 2009-01-26T15:02:10.347 に答える
0

サーバーとクライアントのコード間の非互換性でしょうか? それぞれをコンパイルするためにどの JVM を使用しましたか?

于 2009-01-26T14:44:38.743 に答える