Vous aimez ce que vous lisez sur ce blog ?
Envie d'aller plus loin avec véritable formation d'expertise en Java ?
Venez suivre ma formation Masterclasse Expertise Java !

"Même un développeur experimenté a besoin de continuer à apprendre. Et dans cette formation... j'ai appris beaucoup !" - A.G., Java Champion

Sessions intra-entreprises sur demande : contact[at]mokatech.net.
Inscrivez-vous vite !

Outils de développement et profils itinérants Windows

En entreprise, il est fréquent de travailler sur des postes sous Windows, configurés avec des profils itinérants, c'est-à-dire synchronisés avec un serveur central de manière à pouvoir être accédés depuis n'importe quel autre poste.

Par défaut, tout le répertoire utilisateur est ainsi sauvegardé (C:\Documents and Settings\<user>), et redescendu localement lors de l'ouverture d'une session. ll est donc important de limiter sa taille au strict minimum, sous peine de subir des temps de connexion importants (quoique cela donne un bon prétexte pour aller prendre un café matinal ou draguer les filles de la compta).

Problème : de nombreux outils stockent leurs données dans ce répertoire par défaut, données qui peuvent être très volumineuses - et en particulier Maven et IntelliJ.

Je vous propose donc de rassembler ici une liste des configurations à effectuer sur différents outils ou programmes, afin qu'ils placent leurs données dans d'autres répertoires. Je vous invite à m'aider à la compléter !
Dans un souci d'homogénéité, on désignera le nouveau répertoire à utiliser comme ceci : <configdir>.

Maven 2 / Maven 3

Selon le proverbe, "Maven télécharge Internet" dans son repository local (<USER_HOME>/.m2/repository par défaut).

Dans le fichier de configuration <MAVEN_HOME>/conf/settings.xml, il suffit de décommenter la balise suivante :

<localRepository><configdir>/.m2/repository</localRepository>

Vous pouvez déplacer l'ancien repository vers son nouveau répertoire, ou laisser Maven tout retélécharger au prochain lancement.

IntelliJ

J'ai été très surpris de la taille du répertoire de configuration d'IntelliJ. En réalité, il y stocke tous ses caches, indexes et données temporaires, qui peuvent rapidement prendre une place importante, en fonction de la taille de vos projets et des librairies utilisées.

Dans le fichier <INTELLIJ_HOME>/bin/idea.properties, configurez la variable suivante :

idea.config.path=<configdir>/.IntelliJIdea10/config

IntelliJ reconstruira ses caches et indices au prochain lancement.

NetBeans

Netbeans a le même problème qu'IntelliJ : il stocke les index Maven dans <USER_HOME>/.netbeans/7.0 par défaut.
Pour modifier cette valeur, il faut modifier dans le ficher <NETBEANS_HOME>/etc/netbeans.conf la ligne suivante :

# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="<configdir>/.netbeans/7.0"

(Merci Florian !)

Grails

Pour déplacer le répertoire de travails de Grails (<USER_HOME>/.grails par défaut), il y a 2 possibilités :

  • utiliser la variable d'environnement GRAILS_OPTS et lui ajouter -Dgrails.work.dir=<configdir>/.grails
  • ajouter un fichier settings.groovy dans <USER_HOME>/.grails avec le contenu suivant :
grails.work.dir="<configdir>/grailswork"

(Merci Jean-Philippe !)

Ivy

D'après la documentation, il suffit de redéfinir la propriété ivy.default.ivy.user.dir.
Pour cela, il existe plusieurs méthodes :

  • Si Ivy est utilisé depuis Ant, redéfinir cette propriété comme ceci :
<property name="ivy.default.ivy.user.dir" value="<configdir>/.ivy2"/>
  • Définir une variable d'environnement (utile quand Ivy est appelé depuis un shell / commande DOS)
  • Créer un fichier de settings pour Ivy appelé ivysettings.xml, et y définir la propriété :
<ivysettings>
        <property name="ivy.default.ivy.user.dir" value="<configdir>/.ivy2"/>
<ivysettings>

Commentaires

1. Le mercredi 27 juillet 2011, 15:24 par Florian

Netbeans a le même problème qu'IntelliJ : il stocke les index maven dans $HOME/.netbeans/7.0 par défaut. Pour modifier cette valeur, il faut modifier dans le ficher <NETBEANS_HOME>/etc/netbeans.conf la ligne :

# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="${HOME}/.netbeans/7.0"

2. Le mercredi 27 juillet 2011, 15:40 par Jean-Philippe Briend

Ca, c'est de la vraie bonne idée !

Petit complément : j'ai eu le même soucis à cause de Grails.

Pour déplacer le répertoire de travails de Grails (<USER_HOME>.grails par défaut), il y a 2 possibilités :
- utiliser la variable d'environnement GRAILS_OPTS et lui ajouter -Dgrails.work.dir=<configdir>/.grails
- ajouter un fichier settings.groovy dans <USER_HOME>/.grails avec le contenu suivant :

                   grails.work.dir="<configdir>/grailswork"

N'oubliez pas de vérifier que le répertoire existe bien.

Il me semble qu'on peut déplacer le répertoire de travail d'Ivy (<USER_HOME>/.ivy par défaut), mais je n'ai pas la solution sous la main.

3. Le mercredi 27 juillet 2011, 17:34 par Alexandre Garnier

Pour Eclipse, de souvenir on peut jouer avec les options '-user', '-configuration' et '-data' dans le eclipse.ini

4. Le mercredi 27 juillet 2011, 22:35 par Olivier Croisier

Eclipse ne stocke rien dans le répertoire utilisateur il me semble, mais plutôt dans le Workspace non ?

5. Le jeudi 28 juillet 2011, 08:40 par Alexandre Garnier

Il y a pourtant bien un <USER_HOME>/.eclipse qui est créé et contient des choses (en tout cas moi j'en ai un).
J'avoue que j'ai jamais très bien compris (ni cherché à comprendre) où Eclipse stockait quoi, mais en effet la majeure partie est dans le Workspace.

6. Le samedi 30 juillet 2011, 17:29 par HollyDays

Pour ma part, j'ai toujours modifié le fichier idea.properties immédiatement après installation (et avant premier démarrage) avec les valeurs suivantes (à écrire tel quel) :

idea.config.path=${idea.home}/config
idea.system.path=${idea.home}/system
idea.plugins.path=${idea.home}/config/plugins

Attention, d'ailleurs : ne spécifier une valeur différente que pour idea.config.path ne change pas le problème. En fait, s'il y en a un à changer, c'est idea.system.path : c'est là qu'IntelliJ IDEA stocke ses énormes caches.

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.