4

私は、任意の数のJavaファイルを取得し、それらをコンパイルし、jarファイルを作成してから、実行する必要があるプロジェクトに取り組んでいます。私が直面している問題はこれです:どのクラスを実行しますか?一連のクラスでエントリポイントを見つけることは可能ですか?

指定されたファイルにはエントリポイントが1つしかないことを前提としています。

これが私がこれまで考えてきたことです:

  • main()でクラスを見つけるためにリフレクションを使用するすべてのjarにヘルパークラスを追加します。jarを実行するには、そのヘルパークラスを呼び出します。
  • ユーザー名をmain()クラス「Main」またはその効果のあるものにします。

これについて行く良い方法はありますか?このソフトウェアは学生と初心者プログラマーを対象としているので、単純化のために堅牢性を犠牲にしても構わないと思っています。

ありがとう!

4

2 に答える 2

2

私の頭のてっぺんからの1つのアイデアは、カスタム注釈である可能性があります。命名規則よりも少し堅牢ですが、マニフェストファイルを作成するよりも簡単です。

何かのようなもの:

@MainClass
public class MyClass {
   public static void main(String [] args) {
      // ...
   }
}

ツールでクラスをスキャンしてアノテーションを探すことができます。

于 2012-06-25T14:52:58.813 に答える
1

main()が含まれているクラスを知る最良の方法は、メインクラスを呼び出すJARファイルにマニフェストを提供することです。

ただし、メインクラスに特定の方法で名前を付けることについての質問での提案は、規則と構成を教えるのにも役立つ場合があります。これは知っておくと便利です。

于 2012-06-25T14:51:54.247 に答える