0

jar ファイルを実行しているときにこのエラーが発生する理由がわかりません。

スレッド「メイン」の例外 java.lang.NoClassDefFoundError: net/sf/mzmine/main/MZ mineModulesList at net.sf.mzmine.main.MZmineCore.main(MZmineCore.java:100) 原因: java.lang.ClassNotFoundException: net.sf.mzmine.main.MZmineModulesList

MZmineModulesListクラスが見つからないと言っていますが、このパスに存在します。クラスをjarファイルに書き込んでいたときに何か間違ったことをしたのでしょうか?

これは、MZmineModuleList ファイルを更新されたバージョンに置き換えた後に表示されたことを付け加えたいと思います。私が行ったこと: Jar からファイルを抽出し、新しいクラスを追加しました。また、古い MZmineModuleList クラスの代わりに、数行のコードが追加された新しいクラスに置き換えました。java.util.jar のメソッドを使用して jar ファイルに書き込んでいるときに、何かを見逃したのではないでしょうか?

4

3 に答える 3

1

これNoClassDefFoundErrorは、クラスの静的コード ブロックにエラーがある場合に発生する可能性があります。

于 2012-08-06T16:56:00.913 に答える
0

クラスはあいまいかもしれません。クラスが複数のクラスローダーからロードできる場合、このエラーもスローされる可能性があります。

于 2012-08-06T16:58:56.263 に答える
0

IDE などを使用してすべてをビルドしている場合は、jar 内のすべてのクラスが含まれていることを確認してください。すべてのクラス ファイルが含まれていない Eclipse IDE エクスポート jar を見てきました。その場合は、クラス ファイルを jar に入れるだけです。

于 2012-08-06T17:08:34.110 に答える