Copyright : Il s'agit de la trouvaille de Lapinferoce
Pour comprendre
Quand votre Maven doit se connecter un à Nexus vous devez modifier son fichier settings.xml en lui ajoutant les infos qui vont bien. Plus précisément celles-ci :
<server>
<id>my-wunder-nexus</id>
<username>my-login</username>
<password>my-password</password>
</server>
Quel est le problème ?
Il est triple :
1) Vous êtes une feignasse qui a la flemme de chiffrer ses mots de passe.
2) Le XML de Maven interdit le caractère '&' qu'il interprète comme le & de HTML (c'est-à-dire celui pour faire des é, è etc)
3) Ce n'est pas vous qui avez choisi ce mot de passe, il s'agit d'un compte de service et donc, il est très difficilement modifiable.
C'est quoi donc la solution ?
Prenons le mot de passe fictif : TastyPie&43. On remarque clairement l’esperluette qui ne passera pas... Sauf si l'on écrit ceci :
<server>
<id>my-wunder-nexus</id>
<username>my-login</username>
<password><![CDATA[TastyPie&43]]></password>
</server>
Vous avez compris ? En réalité, le fichier settings.xml de Maven est interprété comme un fichier HTML, en conséquence il est possible d'y injecter des data brutes contenant n'importe quoi.
#BeauGoss Lapinferoce