Use dados criptografados em um pom Maven
Eu sei que épossível criptografar uma senha e colocar os dados criptografados nosettings.xml
, para que o Maven possa acessar um servidor remoto (para implantação, etc.).
No entanto, no meu caso, a senha é um parâmetro na configuração de um plug-in de terceiros.
Normalmente, opom.xml
configuração para este plugin se parece com isso:
<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>
...
Mas eu não gosto da idéia de definir a senha em texto simples na minhapom.xml
. Então eu tentei defini-lo como uma propriedade (<password>${encrypted.password}</password>
) e defina a senha criptografada nosettings.xml
arquivo, usandomvn --encrypt-password thePassword
comando:
<profiles>
<profile>
<id>myprofile</id>
<properties>
<!-- Encrypted passwords -->
<encrypted.password>{dJXVRKwRiY8HqzhGecHd/MYju/aIEmMT8cnE6MY53uPNr0ro/CAsXSLlgzEjxYeU}</encrypted.password>
</properties>
Infelizmente, isso não funciona (suspeito que o plug-in use a senha criptografada como uma senha "limpa" e não tente descriptografá-la).
Existe uma maneira de fazer isso funcionar? Se não, quais são as alternativas para evitar colocar a senha de texto simples empom.xml
ousettings.xml
?
Obrigado.
ps: Estou usando o Maven 2.2.1, mas também posso usar o Maven 3.0, se necessário.