Як передати параметри у файл jar під час виконання?


101

Як передати параметри у файл JAR під час виконання?

Відповіді:


145

Щоб передати аргументи в jar:

java -jar myjar.jar one two

Ви можете отримати доступ до них методом main () "Main-Class" (згаданий у manifest.mfфайлі JAR).

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

40

JAVA Документація каже :

java [опції] -jar file.jar [аргумент ...]

і

... Неопційні аргументи після імені класу або імені файлу JAR передаються головній функції ...

Можливо, вам доведеться розміщувати аргументи в одинарних лапках.


7
Це посилання мертве.
bfontaine

1
Ось робоче посилання, що показує використання утиліти Java - docs.oracle.com/javase/tutorial/deployment/jar . Ура!
realPK

15

Ви можете зробити це приблизно таким чином, тому, якщо аргументи не вказані, це все одно продовжиться:

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

    }
}

А потім запустіть програму:

java -jar myapp.jar arg1 arg2

21
Ніколи не слід використовувати виключення для керування кодом. Натомість вам слід перевірити довжину масиву, перш ніж входити в нього!
chuck258

Добре, якщо програма ВЖЕ завжди повинна мати один або декілька параметрів, а жоден IMHO не є законним випадком використання винятку.
MikeW

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

якщо вам потрібно передати файл властивостей log4j, скористайтеся наведеною нижче опцією

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.