Eclipse – Exécution de programmes

Exécuter un programme dans Eclipse est très simple : il suffit de sélectionner une classe possédant une méthode main dans l'explorateur de paquetages puis d'ouvrir le menu Run et de sélectionner l'entrée Java Application du menu Run As. Toutefois, lorsqu'un programme est exécuté de cette manière, aucun argument ne lui est passé. Or il arrive parfois que l'on désire exécuter un programme en lui passant des arguments, ce qui nécessite la définition de configurations d'exécution, décrites ci-dessous.

Pour mémoire, l'exécution d'un programme Java commence toujours par l'exécution d'une méthode statique nommée main d'une classe donnée. Cette méthode prend en argument un tableau de chaînes de caractères, contenant les arguments fournis au programme. Le programme d'exemple ci-dessous affiche le nombre d'arguments reçu, suivi des arguments eux-même, un par ligne :

public final class ShowArgs {
  public static void main(String[] args) {
    System.out.println(args.length + " arguments :");
    for (String arg: args)
      System.out.println("  " + arg);
  }
}

Lorsqu'on l'exécute de la manière décrite plus haut, ce programme affiche qu'il n'a reçu aucun argument :

0 arguments :

Admettons mainteant que l'on désire le lancer avec les trois arguments suivants :

  1. premier argument
  2. argument 2
  3. dernier

Pour ce faire, il faut sélectionner l'entrée Run Configurations… du menu Run. La fenêtre qui s'ouvre alors liste sur la gauche la totalité des configurations d'exécution existantes, tandis que les paramètres de la configuration sélectionnée apparaissent à droite de cette liste. Ces paramètres sont répartis sur plusieurs onglets, le seul qui nous intéressant ici étant celui nommé Arguments.

En le sélectionnant, on constate que deux types d'arguments peuvent y être définis : les arguments du programme lui-même (Program arguments) et ceux de la machine virtuelle Java (VM arguments). Pour passer les trois arguments susmentionnés au programme, il convient de les placer dans la première de ces deux zones, en entourant les arguments contenant des espaces avec des guillemets :

"premier argument" "argument 2" dernier

Cela fait, il est possible d'exécuter le programme en cliquant sur Run, ce qui provoque l'affichage ci-dessous :

3 arguments :
  premier argument
  argument 2
  dernier

Notez que les guillemets ne font pas partie des arguments eux-même, ils servent uniquement à délimiter les arguments contenant au moins une espace.

La seconde zone d'arguments, réservée à ceux passés à la machine virtuelle, est moins souvent utile mais peut l'être pour activer les assertions. Par défaut, les assertions sont désactivées en Java, et pour les activer, il faut passer l'option -enableassertions (ou -ea) à la machine virtuelle. Pour ce faire, on peut placer le texte suivant dans la seconde zone d'arguments :

-ea

A noter que Eclipse se souvient toujours de la dernière configuration d'exécution utilisée, et que pour l'exécuter à nouveau, il suffit de choisir l'entrée Run du menu du même nom. Il n'est pas nécessaire de passer à chaque fois par la boîte de dialogue des configurations d'exécution.