2011-01-13 12 views
0

Eclipseを使用してコンパイルして実行すると問題はありませんが、これらの設定でjarファイルとしてエクスポートすると、Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: gnu/io/SerialPortEventListenerと表示されます。eclipse export jar java.lang.NoClassDefFoundError problem

jarエクスポータは拡張jarライブラリをエクスポートしませんでしたか?

alt text alt text

答えて

2

この文は、何が悪かったのか理解するのに役立ちます:

現在実行中のクラスをコンパイルしたが、定義がもはや見つからないときに検索-のためのクラス定義は存在していました。

eclipseでアプリケーションをビルドしましたが、エラーは発生しません。だからクラスパスの定義 eclipseはすべてのクラスをコンパイルするのに十分な大きさでした。

これをエクスポートしてを実行してのeclipseを実行し、そのエラーに遭遇しました。エクスポートされたアプリケーションは、Eclipseプロジェクトのクラスパス定義をこれ以上使用しません。そして、現実のものには、gnu.io.SerialPortEventListenerを含む図書館は含まれていません。

一般的な解決策は、エクスポートされたjarのクラスパスの問題を修正します。

1

しかし、ClassNotFoundException and NoClassDefFoundErrorを混同しないように、依存関係の問題である可能性があります。基本的には、それは初期化に問題があったと言っています:gnu/io/SerialPortEventListener私は出発点としてエラーのクラスをチェックします。例外のJavaDocから

+0

コンパイル時に問題はありません。 – wizztjh

1

私はあなたにもWinRun4Jと呼ばれるオープンソースのツールを使用して検討すること

関連する問題