Wie übergebe ich Parameter zum Zeitpunkt der Ausführung an eine JAR-Datei?


101

Wie übergebe ich Parameter zum Zeitpunkt der Ausführung an eine JAR-Datei?

Antworten:


144

So übergeben Sie Argumente an das Glas:

java -jar myjar.jar one two

Sie können mit der main () -Methode von "Main-Class" (in der manifest.mfDatei einer JAR erwähnt) darauf zugreifen .

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


15

Sie können dies mit so etwas tun. Wenn also keine Argumente angegeben sind, wird es trotzdem fortgesetzt:

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

    }
}

Und dann starten Sie die Anwendung:

java -jar myapp.jar arg1 arg2

21
Sie sollten niemals Ausnahmen verwenden, um Ihren Code zu steuern. Stattdessen sollten Sie die Länge des Arrays überprüfen, bevor Sie darauf zugreifen!
— Chuck258

Nun, wenn das Programm IMMER einen oder mehrere Parameter haben muss, ist IMHO meiner Meinung nach ein legitimer Fall für die Verwendung einer Ausnahme.
— MikeW

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

Wenn Sie die Eigenschaftendatei log4j übergeben müssen, verwenden Sie die folgende Option

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.