Jak przekazać parametry do pliku jar w czasie wykonywania?


101

Jak przekazać parametry do pliku JAR w czasie wykonywania?

Odpowiedzi:


145

Aby przekazać argumenty do jar:

java -jar myjar.jar one two

Możesz uzyskać do nich dostęp za pomocą metody main () klasy „Main-Class” (wspomnianej w manifest.mfpliku JAR).

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


15

Możesz to zrobić za pomocą czegoś takiego, więc jeśli nie zostaną określone żadne argumenty, i tak będzie kontynuowane:

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

    }
}

A następnie uruchom aplikację:

java -jar myapp.jar arg1 arg2

21
Nigdy nie powinieneś używać wyjątków do sterowania kodem. Zamiast tego powinieneś sprawdzić długość tablicy przed jej uzyskaniem!
chuck258

1
Cóż, jeśli program musi ZAWSZE mieć jeden lub więcej parametrów, brak ich jest IMHO uzasadnionym przypadkiem użycia wyjątku.
MikeW

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

jeśli chcesz przekazać plik właściwości log4j, użyj poniższej opcji

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.