2014-09-08 3 views
10

я в настоящее время хранить свои учетные данные Maven в ~/.m2/settings.xml:Как сделать mvn развернуть запрос для пароля?

<server> 
    <id>my_server_id</id> 
    <username>my_username</username> 
    <password>my_password</password> 
</server> 

Однако я не удовлетворен с паролем открытым текстом, так как пароль используется для других служб, поэтому я скорее приглашение пользователь для пароля при выполнении mvn deploy. Я развертываю установку Nexus OSS через https.

Я знаю, что the password can be encrypted, но так как the encryption is reversible, это решение не подходит для моего дела.

Есть ли способ заставить Maven запрашивать пароль при развертывании https?

+0

При развертывании в Maven центрального хранилища (или с помощью Nexus Pro) вы можете посмотреть аутентификацию с помощью [User Token] (http://blog.sonatype.com/2012/08/securing-repository-credentials-with-nexus-pro-user-tokens/) вместо имени пользователя и пароля , – dnault

ответ

11

Как уже упоминалось, эта функциональность в настоящее время не поддерживается в плагине. Выпуск MDEPLOY-51 фактически просит это улучшение:

Разрешить пользователю ввести пароль имя пользователя для удаленного сервера при развертывания цель называется. В настоящее время вы должны добавить в файл server.xml репозиторий имя пользователя и пароль. Было бы полезно, если бы пользователю было предложено ввести имя пользователя и пароль по команде . Пароль должен быть скрыт при вводе.

Я предлагаю голосовать за это улучшение или, возможно, реализовать свои функции самостоятельно.

2

maven-deploy-plugin не имеет интерактивного режима, поэтому нет, вы не можете сделать это легко. Обычный подход заключается в шифровании учетных данных в файле settings.xml.

Если вам действительно нужна эта функция, вы всегда можете проверить источники плагина и самостоятельно добавить интерактивный режим, а затем внести свой вклад в сообщество.

1

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

Попробуйте MVN whatevergoal -Dusername -Dpassword

затем внутри pom.xml $ {имя пользователя} и $ {пароль}

+1

Это не работает, потому что имя пользователя/пароль находится в 'settings.xml', а не' pom.xml', а замена свойств там отключена. – benschumacher

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