33

開発時 (およびデバッグ時) に、Java クラスのpublic static void main(String[] argv)メソッドを Eclipse 内部から直接実行すると非常に便利です (Run As コンテキスト メニューを使用)。

実行のコマンド ライン パラメーターを指定する同様に簡単な方法はありますか? 私が今行っているのは、「実行ダイアログ」に移動し、さまざまな設定をクリックして、VM とプログラムの引数を指定できるタブに移動し、そこに入力することです。手順が多すぎます。また、より永続的なランタイム構成設定と 1 回限りの呼び出しパラメーターを混在させたくありません。私が代わりに望むのは、どこかでチェックボックスをオンにすることです (または、別のメニュー項目「コマンドラインで Java アプリケーションとして実行する」を用意します)。

4

6 に答える 6

51

この回答は Eclipse 3.4 に基づいていますが、古いバージョンの Eclipse でも機能するはずです。

[Run As...] を選択する場合は、実行構成に入ります。

Java 実行構成の [引数] タブで、変数 ${string_prompt} が表示されるように構成します (変数をクリックして取得するか、それをコピーして直接設定できます)。

その実行構成を使用するたびに (後で使用できるように適切な名前を付けます)、コマンド ライン引数の入力を求められます。

于 2008-12-17T14:47:17.337 に答える
16

Uri が間違っています。Eclipse の main メソッドにパラメーターを直接追加する方法がありますが、パラメーターはあまり柔軟ではありません (一部の動的パラメーターは許可されます)。必要な作業は次のとおりです。

  1. クラスを一度実行します。
  2. に行くRun -> Run configurations...
  3. 左側のリストで、下のリストからクラスを選択するJava Applicationか、その名前を入力してフィルター ボックスに入力します。
  4. Arguments タブを選択し、Program argumentsボックスに引数を書き込みます。明確でない場合に備えて、それらは空白で区切られているため、"a b c"(引用符なしで) 引数 a、b、および c をプログラムに渡すことを意味します。
  5. ステップ 1 と同じようにクラスを再度実行します。

ただし、Uri が言ったように JUnit/wrapper クラスを使用することをお勧めします。これを行うよりも、実際のパラメーターをより適切に制御できるからです。

于 2008-12-17T10:54:44.077 に答える
2

私の知る限り、Eclipseにはこのための組み込みメカニズムはありません。

最も近い方法は、これらの値の入力を求めるプロンプトを表示し、(ハードコードされた) メインを呼び出すラッパーを作成することです。その後、終了したプロセスをクリアしない限り、実行履歴を取得します。これに関する 2 つのバリエーションは、JUNit を使用するか、インジェクションまたはパラメーターを使用して、ラッパーが常にそのメインの正しいクラスに接続するようにすることです。

于 2008-12-17T01:01:05.803 に答える
1

あなたの用途はわかりませんが、通常は複数のコマンド ライン パラメーターしか使用しないので便利だと思います。そのため、これらのシナリオごとに 1 つの実行構成が取得され、実行履歴から必要なものを選択するだけです。

あなたが提案している機能は、ちょっとやり過ぎのようです、IMO。

于 2008-12-17T10:30:19.540 に答える
0

別のアイデア:

すべてのパラメーターをプロパティ ファイルに配置し (1 つのパラメーター = このファイルの 1 つのプロパティ)、メイン メソッドでこのファイルを読み込みます (を使用Properties.load(*fileInputStream*))。したがって、1 つの引数を変更する場合は、args.properties ファイルを編集するだけで済み、追加の手順を実行せずにアプリケーションを起動する必要があります...

もちろん、これは開発目的のみですが、引数を頻繁に変更する必要がある場合は非常に役立ちます...

于 2008-12-17T11:21:24.943 に答える