Comment transmettre des paramètres à un fichier jar au moment de l'exécution?


101

Comment transmettre des paramètres à un fichier JAR au moment de l'exécution?

Réponses:


145

Pour passer des arguments au fichier jar:

java -jar myjar.jar one two

Vous pouvez y accéder dans la méthode main () de "Main-Class" (mentionnée dans le manifest.mffichier d'un JAR).

String one = args[0];  
String two = args[1];  


15

Vous pouvez le faire avec quelque chose comme ça, donc si aucun argument n'est spécifié, cela continuera quand même:

public static void main(String[] args) {
    try {
        String one = args[0];
        String two = args[1];
    }
    catch (ArrayIndexOutOfBoundsException e){
        System.out.println("ArrayIndexOutOfBoundsException caught");
    }
    finally {

    }
}

Et puis lancez l'application:

java -jar myapp.jar arg1 arg2

21
Vous ne devez jamais utiliser d'exceptions pour diriger votre code. Au lieu de cela, vous devriez vérifier la longueur du tableau avant d'y accéder!
chuck258

1
Eh bien, si le programme doit TOUJOURS avoir un ou plusieurs paramètres, n'en avoir aucun est à mon humble avis un cas légitime pour l'utilisation d'une exception.
MikeW

6
java [ options ] -jar file.jar [ argument ... ]

si vous devez transmettre le fichier de propriétés log4j, utilisez l'option ci-dessous

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.