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.