1

(動作中の) Java を実行可能な jar ファイルに変換すると、問題が発生します。

非常に単純な数値ソートプログラムを作成しました。これは 2 つのファイル (TreeGui.java と SortTree.java) に分散されており、それぞれが多かれ少なかれその内容を実行します。TreeGui には、入力テキスト領域、ボタン、および出力領域があります。ボタンを押すと、入力テキストが SortTree に渡され、適切にソートされた数値が出力ボックスに表示されます。

各ファイルをコンパイルしてから TreeGui を実行すると、すべて正常に動作します

javac TreeGui.java
javac SortTree.java
java TreeGui

...すべてを素敵に実行します。

さて、これらのクラスをjarファイルに入れようとすると、同じ一連の問題にぶつかり続けます。次の(および空白の改行)を含むマニフェスト(TreeGuiManifest.txt)があります。

Main-Class: TreeGui

しかし、私がすべてをまとめると:

jar cmf TreeGuiManifest.txt TreeGui.jar TreeGui.class SortTree.class

私は問題にぶつかりました。jarファイルを選択して直接実行するか、コンソールで「java -jar TreeGui.jar」を使用して実行するかに関係なく、プログラムは正常にロードされますが、ボタンが押された瞬間に、このように開始して続行する文字列全体がスローされます長い道:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: SortTree TreeNode  
    at SortTree.treeInsert(SortTree.java:35)
    at SortTree.main(SortTree.java:24)
    at TreeGui.actionPerformed(TreeGui.java:66)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

などなど。 TreeGui のボタンを押す必要がある SortTree コード内の要素を見つけるのは明らかに苦労していますが、それを機能させるために何ができるかわかりません。

本当に明らかな何かが欠けていますか?インポートされたさまざまな java.utils.*; を使用しています。など、jarファイルを作成するときにそれらに言及する必要がありますか? 助けてくれてありがとう。

(ここにプログラムの実際のコードを貼り付けていない唯一の理由は、Jar ファイルではない場合にすべてが完全に機能するためです...ただし、必要に応じて喜んで追加します)

4

0 に答える 0