開発中(およびデバッグ)に、Java class 'public static void main(String [] argv)メソッドをEclipseから直接実行することは非常に便利です(使用[名前を付けて実行]コンテキストメニュー)。
同様に、実行用のコマンドラインパラメーターを指定する簡単な方法はありますか?私が今やっていることは、「ダイアログの実行」に移動し、さまざまな設定をクリックして、VMとプログラム引数を指定し、そこに入力することができるタブに移動します。永続的なランタイム構成設定と1回限りの呼び出しパラメーターを混在させたくありません。代わりに、どこかでチェックボックスをオンにするか、別のメニュー項目「Run as Java application withコマンドライン」)、毎回コマンドラインの入力を求められます(ニースの履歴があります)。
この回答はEclipse 3.4に基づいていますが、Eclipseの古いバージョンでも機能するはずです。
[実行...]を選択すると、実行構成に移動します。
Java実行構成)の[引数]タブで、変数$ {string_Prompt}を表示するように構成します(変数をクリックして取得するか、コピーして直接設定できます)。
その実行構成を使用するたびに(後で名前を付けられるように名前を付けます)、コマンドライン引数の入力を求められます。
Uriは間違っています。Eclipseのメインメソッドにパラメーターを直接追加する方法がありますが、パラメーターはあまり柔軟ではありません(一部の動的パラメーターは許可されます)。必要なことは次のとおりです。
Run -> Run configurations...
に移動しますJava Application
の下のリストからクラスを選択するか、その名前をフィルターボックスに入力します。Program arguments
ボックスに引数を書き込みます。明確でない場合に備えて、空白で区切られているため、"a b c"
(引用符なし)は、引数a、b、cをプログラムに渡すことを意味します。ただし、Uriが言ったようにJUnit/wrapperクラスを使用することをお勧めします。これにより、実際のパラメーターをより適切に制御できるようになるためです。
私の知る限り、このためのEclipseには組み込みのメカニズムはありません。
最も近い方法は、これらの値の入力を求めるラッパーを作成し、(ハードコードされた)メインを呼び出すことです。その後、終了したプロセスをクリアしない限り、実行履歴を取得します。これに関する2つのバリエーションは、JUNitを使用するか、インジェクションまたはパラメーターを使用して、ラッパーが常にメインの正しいクラスに接続するようにすることです。
私はあなたの用途がわからないが、通常は複数のコマンドラインパラメーターしか使用しないのが便利だと思うので、これらのシナリオのそれぞれは1つの実行構成を取得し、実行履歴から必要なものを選ぶだけです。
あなたが提案している機能は、ちょっとやり過ぎのようです、IMO。
文字列引数内にスペースがある場合は、次を実行します。
実行>実行構成> Java Application> Arguments> Program arguments
別のアイデア:
すべてのパラメーターをプロパティファイルに配置し(1つのパラメーター=このファイルの1つのプロパティ)、メインメソッドでこのファイルを読み込みます(Properties.load(*fileInputStream*)
を使用)。したがって、1つの引数を変更する場合は、args.propertiesファイルを編集し、それ以上の手順を実行せずにアプリケーションを起動するだけです...
もちろん、これは開発目的のためだけのものですが、頻繁に引数を変更する必要がある場合は本当に役立ちます...