Bagaimana cara mengirimkan parameter ke file jar pada saat eksekusi?


101

Bagaimana cara mengirimkan parameter ke file JAR pada saat eksekusi?

Jawaban:


144

Untuk meneruskan argumen ke toples:

java -jar myjar.jar one two

Anda dapat mengaksesnya dalam metode main () dari "Kelas-Utama" (disebutkan dalam manifest.mffile JAR).

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


15

Anda dapat melakukannya dengan sesuatu seperti ini, jadi jika tidak ada argumen yang ditentukan, itu akan tetap berlanjut:

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

    }
}

Dan kemudian luncurkan aplikasi:

java -jar myapp.jar arg1 arg2

21
Anda tidak boleh menggunakan pengecualian untuk mengarahkan kode Anda. Sebagai gantinya, Anda harus memeriksa panjang array sebelum mengaksesnya!
— chuck258

Nah, jika program harus SELALU memiliki satu atau lebih parameter, tidak memiliki IMHO adalah kasus yang sah untuk menggunakan pengecualian.
— MikeW

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

jika Anda perlu meneruskan file properti log4j gunakan opsi di bawah ini

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.