Java main クラスとその引数の指定

Java™ ランチャーの目的は、一部の Java クラスの main() メソッドを実行し、場合によってはいくつかの引数を渡すことです。 以下の方法で、Java クラス名とその引数を Java バッチ・ランチャーに提供できます。

  • バッチ・ランチャー・プログラムの PARM= ストリングとして、完全修飾メイン・クラス名と任意の引数を指定できます。 JVMPRCxx ストアード・プロシージャーは、 JAVACLS= および ARGS= キーワード・パラメーターを定義します。これらのパラメーターを使用して、プログラムの PARM= ストリングを設定できます。
  • JZOS_MAIN_ARGS 環境変数を設定して、メイン・クラス名と引数を含めることができます。
  • // MAINARGS が指すファイルの内容には、Java クラス名と引数を含めることができます。 JZOS_MAINARGS_DD 環境変数を設定することにより、この DD 名を //MAINARGS から他の名前に変更できます。
これらのメカニズムを個別に使用することも、組み合わせて使用してクラス名とその引数を指定することもできます。 複数のメカニズムを使用する場合は、以下の順序で読み取られます。
  1. PARM=
  2. JZOS_MAIN_ARGS 環境変数の内容。
  3. JZOS_MAIN_ARGS_DD 環境変数によって指し示されるファイルの内容 (デフォルトではMAINARGS)

メイン・クラス名とその引数は、空白文字 (スペース、タブ、改行) で区切られたストリングとして、これらの 1 つ以上のソースから読み取られます。 複数の引数を指定する場合は、単一引用符を使用します。 単一引用符で囲むと、トークンが複数の入力行にまたがる場合に、引数に改行文字を含めることができます。 ただし、入力行が円記号 (¥) で終わる場合は、その改行文字は引用符付き引数に含まれません。 入力が //MAINARGS ファイルから読み取られると、末尾のスペースは自動的に削除されますが、入力に行番号を含めることはできません。

メイン・クラス名の代わりに -jar <jar file name> を指定することにより、実行可能 JAR ファイルを実行できます。 このコマンドは、Java シェル・コマンド・ランチャーの -jar オプションと同じように動作します。メイン・クラス名を見つけるために、指定された JAR ファイルから MANIFEST エントリーが読み取られます。

Java クラスへの引数の提供

この例では、Java クラスに引数を提供します。
// EXEC PROC=JVMPRCxx,JAVACLS=’com.package.MyClass’,
// ARGS=’argument1 -arg2’
//STDENV *
...
//MAINARGS DD *
arg.number.3 ’argument4 with embedded spaces 
and newline’ ’argument5 with embedded spaces \ 
but no newline’
//

この例の結果は、以下の値になります。

  • Java メイン・クラス名 = com.package.MyClass
  • arg[1] = argument1
  • arg[2] = -arg2
  • arg[3] = arg.number.3
  • arg[4] = argument4 with embedded spaces and newline
  • arg[5] = argument5 with embedded spaces but no newline