Spécification de la classe Java main et de ses arguments

L'objectif de tout programme de lancement Java™ est d'exécuter la méthode main() d'une classe Java et de lui transmettre éventuellement des arguments. Vous pouvez fournir le nom de classe Java et ses arguments au lanceur par lots Java de la manière suivante:

  • Vous pouvez spécifier le nom de classe principal qualifié complet et tous les arguments en tant que chaîne PARM= dans le programme de lancement par lots. La procédure mémorisée JVMPRCxx définit les paramètres de mot clé JAVACLS= et ARGS= , que vous pouvez utiliser pour définir la chaîne PARM= du programme.
  • Vous pouvez définir la variable d'environnement JZOS_MAIN_ARGS pour qu'elle contienne le nom et les arguments de la classe principale.
  • Le contenu du fichier désigné par // MAINARGS peut contenir le nom de classe Java et les arguments. Vous pouvez remplacer le nom de définition de données //MAINARGS par un autre nom en définissant la variable d'environnement JZOS_MAINARGS_DD .
Vous pouvez utiliser ces mécanismes individuellement ou en combinaison pour spécifier le nom de la classe et ses arguments. Si vous utilisez plusieurs mécanismes, ils sont lus dans l'ordre suivant:
  1. PARM=
  2. Contenu de la variable d'environnement JZOS_MAIN_ARGS
  3. Le contenu du fichier désigné par la variable d'environnement JZOS_MAIN_ARGS_DD (MAINARGS, par défaut)

Le nom de la classe principale et ses arguments sont lus à partir d'une ou de plusieurs de ces sources sous la forme de chaînes séparées par des espaces (espace, tabulation, retour à la ligne). Utilisez des guillemets simples si vous spécifiez plusieurs arguments. Lorsqu'il est placé entre apostrophes, un argument peut inclure un caractère de retour à la ligne si le jeton s'étend sur plusieurs lignes d'entrée. Toutefois, si une ligne d'entrée se termine par une barre oblique inversée, le caractère de retour à la ligne n'est pas inclus dans l'argument entre guillemets. Lorsque l'entrée est lue à partir du fichier //MAINARGS , les espaces de fin sont automatiquement supprimés, mais l'entrée ne doit pas contenir de numéros de ligne.

Vous pouvez exécuter un fichier JAR exécutable en spécifiant -jar <jar file name> à la place d'un nom de classe principale. Cette commande se comporte de la même manière que l'option -jar sur le lanceur de commandes de l'interpréteur de commandes Java: l'entrée MANIFEST est lue à partir du fichier JAR nommé pour trouver le nom de la classe principale.

Fourniture d'arguments à une classe Java

Cet exemple fournit des arguments à une classe 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’
//

Cet exemple génère les valeurs suivantes:

  • Nom de classe principale 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