2014-09-06 3 views
0

Моего кода:Запуск баночки из командного ПРОМТА с несколькими аргументами окном

public void runSomething(){ 

    System.out.println(System.getProperty("1")); 
    System.out.println(System.getProperty("2")); 
    System.out.println(System.getProperty("3")); 
} 

Мне нужно, чтобы запустить его из командной строки. Я использую:

Java -jar jarname.jar -D1 = 111 -D2 = 222 -D3 = 333

Это неверный способ передачи значений аргументов из командной строки, как я не могу распечатать значения?

Как передать значения по ключевым словам из командной строки?

ответ

2

Просто удалить D1, D2 & D3 и попробуйте запустить запустить как:

java -jar jarname.jar 111 222 333 

аргументы времени выполнения передаются в основной метод как String массива, как указано здесь:

public static void main(String commandLineArgs[]) 

Вы можете выборка полученных аргументов с использованием commandLineArgs с соответствующим индексом. Так что в вашем случае:

String D1 = commandLineArgs[0]; 
String D2 = commandLineArgs[1]; 
String D3 = commandLineArgs[2]; 
+0

как получить их с некоторыми ключевое значение .. как System.getProp ("KEYNAME") – user2093576

+0

Затем попробуйте получить свойство без 'D', System.getProp ("1"), System.getProp ("2"), System.getProp ("3") –

+0

- это объем этих переменных только до основного класса метода или дочернего класса ca n получить к нему доступ? – user2093576

1

Это один из способов прохождения некоторых вещей, как система собственности JVM, лучший способ, чтобы передать его в качестве параметра командной строки

java -jar jarname.jar 111 222 333 

и вы можете получить доступ к ним из public static void main(String ar[])

ar[] будет {"111", "222", "333"}


0

Правильный синтаксис:

Java -D1 = "111" -D2 = "222" -jar jarname.jar

Смежные вопросы