web-dev-qa-db-ja.com

Java + Scala + Slick2Dを使用している場合、「指定された起動構成からメインメソッドが見つかりませんでした」

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

プロジェクト自体は、Eclipse内から起動すると正常に実行されます。しかし、jarファイルを作成しようとすると、動作を拒否します。 Runnablejarとしてエクスポートしようとしたときに発生し続けるエラーは次のとおりです。

enter image description here

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

enter image description here

もちろん、game.TicTacGameにはメインクラスがあります。しかし、それはそれを認めることを拒否します。単純なHelloWorldプロジェクトで実行可能ファイルを作成してみましたが、正常に機能しました。メインクラスも検出します。この場合、Eclipseがメインクラスを検出しないのはなぜですか?

PS:作成した.jarファイルを抽出し、manifest.mfファイルを編集してメインクラス:game.TicTacGameを追加し、2つの新しい行を入力して、jarを再作成しようとしました。次に、破損したjarファイルエラーが発生します。

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

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

9
Plasty Grove

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

enter image description here

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

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

  1. 「AddJars」に移動し、Eclipseで作成したproject.jarを追加し、lwjgl.jar、slick.jar、scala-library.jarを追加します。 lwjglとslickは、それらをインポートしたプロジェクトのlibフォルダーにあるはずです。 scala-libraryは、どこにいても利用できるはずです。それも追加してくださいenter image description here
  2. 次に、「ネイティブを追加」しようとすると、「ライブラリの複製」エラーが発生し続けました。それで私はそれらをすべて取り除き、空のままにしました。
  3. 次の「メインクラス」では、メインクラスへのパス、つまりgame.TicTacGameを入力しました。
  4. 最後に、「ファットジャーを作成する」。そしてそれは完璧に機能します:)
12
Plasty Grove

私はちょうど同じ問題に遭遇しました、そしてこれが私がそれを解決した方法です:

  1. エクスポートするプロジェクトで[実行]-> [構成の実行]を開きます

  2. Eclipseの「検索」をクリックして、メインクラスのリストを更新します

  3. 次に、Runnable JARファイルを再度エクスポートすると、すべてがスムーズに進みます。

7
Brian

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

0
Whitee

私は最近、 'Runnable jar export'を使用してこれを行うためのより良い方法を考え出しました。これはあなたを助けるかもしれません。 mainメソッドをそのリストにリストするには、mainメソッドをRun Configurationリストに追加する必要があります。

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

0
Vishwas Nayak