Различаются между setLine () и setValue () в Ant API Commandline.Argument класс? - PullRequest
2 голосов
/ 17 июля 2009

Я не понимаю разницы между этими методами.

Вот что говорит JavaDoc:

setLine (String) = Строка для разделения на несколько аргументов командной строки.

setValue (String) = Устанавливает один аргумент командной строки.

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

Commandline commandline;
commandline = new Commandline(new File(jarUtilsDir,"signtool.exe").getAbsolutePath());
commandline.createArgument().setLine("--verbosity");
commandline.createArgument().setValue("-1");
commandline.createArgument().setLine("-o");

Может быть, мне просто нужно объяснение того, как они должны использоваться.

1 Ответ

2 голосов
/ 17 июля 2009

Если вы устанавливаете одно значение без пробела, это не имеет значения. Однако предположим, что у вас есть:

commandline.createArgument().setLine("x y");

, что эквивалентно:

commandline.createArgument().setValue("x");
commandline.createArgument().setValue("y");

тогда

commandline.createArgument().setValue("x y");

будет делать соответствующие кавычки (я полагаю), чтобы вызываемая программа воспринимала это как один аргумент командной строки.

Самый простой способ проверить это - создать приложение, которое просто выводит свои аргументы, по одному на строку, и пробовать оба способа:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...