Ant secureInputHandler: требует, чтобы пользователь нажал клавишу ввода, прежде чем принять ввод - PullRequest
4 голосов
/ 29 ноября 2011

Я использую SecureInputHandler для принятия паролей от конечного пользователя в сценарии ant, но он заставляет пользователя нажимать Введите , прежде чем он разрешит ввод текста.Это ожидаемое поведение?Кроме того, я не нашел много документации по этой теме, пожалуйста, не стесняйтесь указывать мне на любые ресурсы по этой теме.

<input message="Please enter password:"  addproperty="password.property">
    <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>

Ответы [ 2 ]

4 голосов
/ 30 ноября 2011

SecureInputHandler требует Ant 1.7.1 или выше (для поддержки обработчика) и Java 6 или выше (для обеспечения класса Console).

Если у вас нет нужной версии Ant, вы получите ошибку. Если у вас нет правильной версии Java, Ant возвращается к стандартному обработчику ввода.

Обратите внимание, что вы также можете использовать:

<handler type="secure"/>

Здесь можно увидеть javadoc и источник .

Используя Ant 1.8.2 и Java 1.6 в оболочке windows cmd, я получаю следующее:

test:
Please enter password:<cursor here>

Пароль замаскирован. Вы вводите пароль и нажимаете Введите .

Используя оболочку Cygwin или Java 1.5 в оболочке cmd, я получаю следующее:

test:
    [input] Please enter password:
<cursor here>

Пароль не маскируется. Вы вводите пароль и нажимаете Введите .

Используя консоль Eclipse, я не смог получить пароль для ввода вообще. Я набираю, он отображается на консоли, я нажимаю Введите , ничего не происходит.

Я заметил, что в документации к задаче Input написано:

Поведение IDE зависит от IDE: некоторые зависают в ожидании ввода, некоторые введите его. Для этой ситуации поместите пароль в (защищенный) файл свойств и загрузите его перед задачей ввода.

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

0 голосов
/ 02 декабря 2011

exec мешал входным задачам.Это можно решить, указав inputstring=”” в задаче exec.См. exec приводит к зависанию других задач или к странному поведению <input> задач в Ant FAQ .

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