プロが教えるわが家の防犯対策術!

クライアントアプリケーションからサーバAPIを使う際に以下のエラーがでます。
eclipse+javaで開発中です。

Exception in thread "main" java.lang.NoClassDefFoundError: gnu/trove/THashSet
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Unknown Source)
at java.lang.Class.getDeclaredField(Unknown Source)
at java.io.ObjectStreamClass.getDeclaredSUID(Unknown Source)
at java.io.ObjectStreamClass.access$700(Unknown Source)
at java.io.ObjectStreamClass$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.<init>(Unknown Source)
at java.io.ObjectStreamClass.lookup(Unknown Source)
at java.io.ObjectStreamClass.initNonProxy(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 sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at se.pricer.apidemo.APIDemo.<init>(APIDemo.java:26)
at se.pricer.apidemo.APIDemo.main(APIDemo.java:83)
Caused by: java.lang.ClassNotFoundException: gnu.trove.THashSet
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.misc.Launcher$ExtClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 19 more

通信のURLは合っています。
「gnu/trove/THashSet」のエラーの意味を教えて下さい。
レジストリーのバインドがうまく出来ていないと思われます。
サーバのモジュールも実行構成ー>引数タブー>VM引数でcodebasの指定方法もいまいちわかりません。

初投稿なので変な質問ですが誰か力を貸して下さい。

A 回答 (1件)

RMIとなるともうだいぶうろ覚えなので的外れかも知れませんが・・・



エラーメッセージから読み取るに、se.pricer.apidemo.APIDemoというデモプログラム?の中でデシリアライズ(ReadObject)されるオブジェクトの中に、gnu.trove.THashSetクラスのオブジェクトがあるのだけど、それがクライアントかサーバ(たぶんサーバ?)の方に認識されていないのでNoClassDefFoundErrorになるということでは。
GNU Troveのjarファイルか何かで、クライアントとサーバのどちらか一方にしかclasspathが通っていない、なんてものはないでしょうか?
gnu-troveなんとか.jarのような名前の。
    • good
    • 0
この回答へのお礼

ありがとうございます、解決できました。
教えて下さったようにクライアント側でjarファイルをclasspathを通すと動きました。
リモート関係の資料が少なく1ヶ月近く悩んでました。
わかりにくい投稿に答えていただき有難うございます。

お礼日時:2009/08/19 15:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!