Encore un blog de GeeK
Java
Développement Java
Crypter ses mots de passe Maven
18/02/12
Lorsque l’on veut publier sur un dépôt maven, il faut fournir un identifiant et mot de passe que l’on peut stocker et crypter dans sont fichier ~/.m2/settings.xml tel qu’indiqué dans la documentation officielle.
Malheureusement les commandes mvn --encrypt-master-password et mvn --encrypt-password demande d’inquer le mot de passe sur la ligne de commande ce qui est peu secure puisqu’il apparaitra dans l’historique du shell.
Pour contourner ce problème, il est possible de demander au shell de demander le mot de passe pour ne pas laisser de trace dans l’historique:
read -p "Password? " pass; mvn --encrypt-master-password $pass read -p "Password? " pass; mvn --encrypt-password $pass
Définir l’exécution par défaut d’un plugin maven
3/10/11
Avec Maven, il arrive souvent d’avoir à définir plusieurs exécutions d’un plugin pour différentes phases mais de vouloir en garder une par défaut (celle utilisée en ligne de commande).
Depuis la version 2.2 de maven, le ticket MNG-3401 le permet en donnant l’identifiant d’exécution default-cli:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
<descriptorRef>project</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
Java et proxy HTTP
6/04/11
Comment faire en sorte qu’une application Java passe par un proxy HTTP (comme c’est souvent le cas en entreprise) ?
Il faut le spécifier dans les options de la JVM à l’execution!
On me pose souvent la question et même si je connais la réponse, je doit toujours la rechercher pour être sur de la syntaxe.
Les options à passer sont:
http.proxyHostpour spécifier l’hôtehttp.proxyPortpour spécifier le porthttp.proxyUserpour spécifier le nom d’utilisateur (optionnel)http.proxyPasswordpour spécifier le mot de passe (optionnel)
Ce qui donnerai en ligne de commande pour un proxy dont l’url est http://user:password@proxy.maboite.com:8080
~$ java -Dhttp.proxyHost=proxy.maboite.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser=user -Dhttp.proxyPassword=password maClasse
