2011-02-01 12 views
0

Java RMIによって実装されたサーバー側でメソッドを呼び出そうとしています。このメソッドは、Excelスプレッドシートでデータの読み込み、読み取り、データ操作を行います。Java Apache POI NoClassDefFoundError WorkbookFacory

これは次のような例外があります。 inpは、指定されたファイルパスを持つInputStreamです。

Exception: java.rmi.ServerError: Error occurred in server thread; nested exception is: java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/WorkbookFacory

このメソッドをローカルで呼び出そうとしましたが、エラーは発生しませんでした。

ここで、サーバーとクライアントは、どちらも同じマシン(localhost)で実行されています。

+1

サーバー側で、POIクラスを含むJARファイルをクラスパスに追加するのを忘れましたか? 'NoClassDefFoundError'(ほぼ)は、クラスパスに何かがないことを常に意味します。 – Jesper

答えて

2

サーバーのクラスパスにPOIクラスを追加します。クライアントとサーバーが同じマシン上で実行されているからといって、両方が共通のクラスパスを共有しているわけではありません。