-1

私はUbuntuに取り組んでいます。3つのクラスを使ったシンプルなGUIアプリを作りました。Mainは、mainメソッドを含むTest.classです。私はそれらすべてをコンソールレベルからJARにパックしました。これで、Test.class、MyFrame.class、MyPanel.class、META-INFフォルダーを含む「kalkulator.jar」ができました。META_INfには、MANIFEST.MFがあります。MANIFEST.MFには、「メインクラス:テスト」と改行文字が含まれています。次に、次を使用してコンソールからJARを開こうとします。java-jar kalkulator.jar次のようになります:"スレッド"main"の例外java.lang.NoClassDefFoundError:テスト(間違った名前:myproject / Test")myprojectはすべてのクラスのパッケージです。では、どうすればそれを解決できますか?

4

1 に答える 1

1

次のことを行う必要があります。

  1. jar内のディレクトリ階層がパッケージ階層と完全に一致していることを確認してください。クラスは、jar内の「myproject」という名前のディレクトリにある必要があります。それらがちょうどトップレベルにある場合、それは機能しません。

  2. Main-Class名を、mainメソッドを使用してクラスの完全修飾名にします。(つまり、myproject.Test)。

  3. これらすべてを行うために、antなどのビルドツールの使用方法を学びます。

于 2013-01-06T20:31:21.087 に答える