Imposta più proprietà di sistema riga di comando Java
La risposta è NO. Potresti aver visto un esempio in cui qualcuno avrebbe impostato qualcosa del tipo:
-DArguments=a=1,b=2,c=3,d=4,e=cow
Quindi l'applicazione analizzerebbe il valore di Arguments
stringa di proprietà per ottenere valori individuali.Nel tuo main
puoi ottenere i valori chiave come (supponendo che il formato di input sia garantito):
String line = System.getProperty("Arguments");
if(line != null) {
String str[] = line.split(",");
for(int i=1;i<str.length;i++){
String arr[] = str[i].split("=");
System.out.println("Key = " + arr[0]);
System.out.println("Value = " + arr[1]);
}
}
Inoltre, il -D
dovrebbe essere prima della classe principale o del jar
file nella riga di comando java. Esempio:java -DArguments=a=1,b=2,c=3,d=4,e=cow MainClass
Non c'è niente nella documentazione che menzioni qualcosa del genere.
Ecco una citazione:
-Dproperty=valueImposta un valore per la proprietà di sistema. Se value è una stringa che contiene spazi, è necessario racchiudere la stringa tra virgolette doppie:
java -Dfoo="una stringa" SomeClass
Invece di passare le proprietà come argomento, puoi usare un .properties per archiviarle.