Я знаю, что можно зашифровать пароль и поместить зашифрованные данные в settings.xml
, чтобы Maven мог получить доступ к удаленному серверу (для развертывания, и др.).
Однако в моем случае пароль является параметром в конфигурации стороннего плагина.
Обычно конфигурация pom.xml
для этого плагина выглядит так:
<build>
<plugins>
<plugin>
<groupId>xxx</groupId>
<artifactId>maven-xxx-plugin</artifactId>
...
<configuration>
<serverAddress>http://myserver</serverAddress>
<port>4242</port>
<username>unicorn</username>
<password>thePassword</password>
...
Но мне не нравится идея установить пароль в текстовом виде в моем pom.xml
. Поэтому я попытался установить его как свойство (<password>${encrypted.password}</password>
) и установить зашифрованный пароль в файле settings.xml
, используя команду mvn --encrypt-password thePassword
:
<profiles>
<profile>
<id>myprofile</id>
<properties>
<!-- Encrypted passwords -->
<encrypted.password>{dJXVRKwRiY8HqzhGecHd/MYju/aIEmMT8cnE6MY53uPNr0ro/CAsXSLlgzEjxYeU}</encrypted.password>
</properties>
К сожалению, это не работает (я подозреваю, что плагин использует зашифрованный пароль как "чистый" пароль и не пытается его расшифровать).
Есть ли способ заставить его работать? Если нет, то какова альтернатива, чтобы избежать ввода обычного текстового пароля в pom.xml
или settings.xml
?
Спасибо.
ps: Я использую Maven 2.2.1, но при необходимости я могу использовать Maven 3.0.