0

メインラインから引数配列にアクセスできない場合に、Java アプリケーションの起動引数を決定できるかどうか知りたいです。

public static void main(String[] args)
{
    // Invokes my code without providing arguments.
    mycode();
}

public static void mycode()
{
    // Attempting to determine arguments here.
    // TODO GetArgs()
}

私はいくつかのプラグイン作業を行ってこの状況に陥っていますが、コア アプリケーションは起動引数のリストを提供していません。何かご意見は?

4

3 に答える 3

3

プラグインがそれらを与えられない限りそうではありませんが、そのようなことは言うまでもありません (少なくとも Java では)。

プラグイン専用のオプションを設定する必要があるが、コマンド ラインにアクセスできない場合は、少なくとも 2 つのオプションがあります。

  • オプション ファイル (いくつかのメカニズム)
  • コマンド ラインでシステム パラメータを設定する

2 番目のオプションでは、次のように、通常の-Dオプションと名前空間にパラメーター名を使用します。

java -Dcom.davelnewton.plugins.foo.bar=anOptionValue etc...

System.getProperty(anOptionName)またはそのいとこのいずれかを介してそれらを取得します。

IMOオプションファイルは、コマンドラインでファイルパスを指定している場合でも、より良い(ahem)オプションですが、オプションが1つまたは2つしかない場合は、そうではないかもしれません-単に依存します.

于 2012-05-20T15:49:50.150 に答える
0

引数を関数に渡しますか?

public static void main(String[] args)
{
    mycode(args);
}

public static void mycode(String[] args)
{
    String arg1 = args[0];
}
于 2012-05-20T15:42:54.860 に答える
0

あなたがすることができます:

public static void main(String[] args)  
{  
    System.setProperty("cmdArgs", args);
    mycode();  
}  

public static void mycode()  
{  
    // Attempting to determine arguments here.  
    String[] args = System.getProperty("cmdArgs");

}
于 2012-05-20T15:52:06.783 に答える