Как сделать запрос mvn deploy для пароля?

В настоящее время я храню свои учетные данные maven в ~/.m2/settings.xml:

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

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

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

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

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

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

затем внутри pom.xml ${username} и ${password}