web-dev-qa-db-fra.com

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

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

83
krisp

Pour passer des arguments à la jarre:

Java -jar myjar.jar one two

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

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

Le la documentation Java dit :

Java [options] -jar fichier.jar [argument ...]

et

... Les arguments sans option après le nom de la classe ou le nom du fichier JAR sont passés à la fonction principale ...

Peut-être que vous devez mettre les arguments entre guillemets simples.

32
Xn0vv3r

Vous pouvez le faire avec quelque chose comme ceci, 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
16
user1420526
Java [ options ] -jar file.jar [ argument ... ]

si vous devez passer 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 ...]
5
Bachan Joseph