10

Java+Scala+Slick2D を使用しているプロジェクトがあります。

プロジェクト自体は、Eclipse 内から起動するとうまく動作します。しかし、jar ファイルを作成しようとすると、動作が拒否されます。Runnable jarとしてエクスポートしようとすると、次のエラーが発生します。

ここに画像の説明を入力

また、Jar ファイルだけにエクスポートしようとすると、メイン クラスが見つかりません。

ここに画像の説明を入力

もちろん、game.TicTacGame にはメイン クラスがあります。しかし、それを認めようとはしません。シンプルな Hello World プロジェクトで実行可能ファイルを作成してみましたが、うまくいきました。メインクラスも検出します。この場合、Eclipse がメイン クラスを検出しないのはなぜですか?

PS: また、作成された .jar ファイルを抽出し、manifest.mf ファイルを編集して Main-Class: game.TicTacGame を追加し、2 つの新しい行を入力して、jar を再作成しようとしました。次に、破損したjarファイルエラーが表示されます。

私は機知に富んでおり、この点で何か助けていただければ幸いです。Eclipse Juno、Java 1.7、および Scala 2.10 で Windows 7 x64 を使用しています。

編集:メインクラスはJavaです

4

8 に答える 8

12

さて、私はそれを働かせました。どうやら、私がする必要があったのは、Eclipseを再起動することだけでした。そして、魔法のように Main クラスの検出を開始しました。

ここに画像の説明を入力

しかし、jar は、Slick2d、LWJGL、およびその他のライブラリに対して noClassDefFound エラーを返し始めました。そこで、JarSpliceが助けになりました。すべてのライブラリとリソースを使用して、以前と同じようにプロジェクトをエクスポートしました。

次に、JarSplice を起動し、次のようにすべてを追加しました。

  1. 「Add Jars」に移動し、eclipse で作成したばかりの project.jar を追加し、lwjgl.jar、slick.jar、および scala-library.jar を追加します。lwjgl と slick は、インポートしたプロジェクトの lib フォルダーにあるはずです。scala-library は、どこにいても利用できるはずです。それも必ず追加してくださいここに画像の説明を入力
  2. 次に、「ネイティブを追加」しようとすると、「ライブラリが重複しています」というエラーが表示され続けました。だから私はそれらをすべて取り除き、それを空のままにしました。
  3. 次に「メイン クラス」では、メイン クラス、つまり game.TicTacGame へのパスを入力しました。
  4. 最後に「Create Fat Jar」。そして、それは完全に機能します:)
于 2012-11-23T12:42:49.960 に答える
0

さて、同じ問題が発生し、プロジェクト全体ではなくエクスポートする GUI を選択して解決しました。

于 2017-01-18T10:55:24.760 に答える
0

私は最近、「 Runnable jar export 」を使用してこれを行うためのより良い方法を考え出しました。メイン メソッドがそのリストに表示されるようにするには、メイン メソッドを実行構成リストに追加する必要があります。

このようにして、特に繰り返し実行したい場合に、実行可能な jar を簡単に作成できます。

于 2013-05-30T06:24:01.047 に答える