Sé que es possible to encrypt a password y coloque los datos cifrados en settings.xml
, de modo que Maven pueda acceder a un servidor remoto (para la implementación, etc.).Usar datos cifrados en Maven pom
Sin embargo, en mi caso, la contraseña es un parámetro en la configuración de un complemento de un tercero.
Normalmente, la configuración pom.xml
para este plugin se ve así:
<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>
...
Pero no me gusta la idea de establecer la contraseña en texto plano en mi pom.xml
. Así que traté de establecerlo como una propiedad (<password>${encrypted.password}</password>
) y establecer la contraseña cifrada en el archivo settings.xml
, utilizando mvn --encrypt-password thePassword
comando:
<profiles>
<profile>
<id>myprofile</id>
<properties>
<!-- Encrypted passwords -->
<encrypted.password>{dJXVRKwRiY8HqzhGecHd/MYju/aIEmMT8cnE6MY53uPNr0ro/CAsXSLlgzEjxYeU}</encrypted.password>
</properties>
Desafortunadamente, esto no funciona (sospecho que el plugin utiliza la contraseña cifrada como una contraseña "clara", y no intenta descifrarla).
¿Hay alguna manera de hacerlo funcionar? Si no, ¿cuál es la alternativa para evitar poner una contraseña de texto sin formato en pom.xml
o settings.xml
?
Gracias.
ps: Estoy usando Maven 2.2.1, pero también puedo usar Maven 3.0 si es necesario.
Interesante pregunta. ¿Desea evitar el almacenamiento de la contraseña de texto sin formato en cualquier lugar o solo se trata de archivos 'pom.xml/settings.xml' que le preocupan? –
@AndrewLogvinov ¿Sugiere poner la contraseña en texto plano en un archivo de propiedades externo, y cargar este archivo en el pom? ¿O es otra idea? – romaintaz
Sí, más o menos eso. –