Yürütme sırasında parametreleri bir jar dosyasına nasıl aktarırım?


101

Yürütme sırasında parametreleri bir JAR dosyasına nasıl aktarırım?

Yanıtlar:


146

Kavanoza argümanlar iletmek için:

java -jar myjar.jar one two

Bunlara "Main-Class" ın main () yönteminden erişebilirsiniz manifest.mf(bir JAR dosyasında belirtilmiştir ).

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


15

Bunu bunun gibi bir şeyle yapabilirsiniz, böylece herhangi bir argüman belirtilmezse yine de devam eder:

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

    }
}

Ve sonra uygulamayı başlatın:

java -jar myapp.jar arg1 arg2

21
Kodunuzu yönlendirmek için asla istisnalar kullanmamalısınız. Bunun yerine, erişmeden önce dizinin uzunluğunu kontrol etmelisiniz!
chuck258

1
Peki, programın HER ZAMAN bir veya daha fazla parametreye sahip olması gerekiyorsa, hiçbirinin olmaması IMHO bir istisna kullanmak için meşru bir durumdur.
MikeW

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

log4j özellikler dosyasını iletmeniz gerekiyorsa aşağıdaki seçeneği kullanın

-Dlog4j.configurationFile=directory/file.xml


java -Dlog4j.configurationFile=directory/file.xml -jar <JAR FILE> [arguments ...]

0

Argümanların içinde boşluklar olması durumunda, aşağıda gösterildiği gibi geçebilirsiniz.

java -jar myjar.jar 'first argument' 'second argument'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.