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.