février
2012
Lors du build maven d’un projet assez complexe, il peut arriver que le build échoue sur une OutOfMemory Error (PermGen space). Les erreurs de ce type sont en général liées à des causes assez cryptiques, et sont donc généralement détestées par la plupart des développeurs.
Fort heureusement, dans la majorité des cas, le problème vient tout simplement du fait que l’espace spécial de la mémoire alloué au chargement des schémas de classe a dépassé sa capacité limite pour cause d’un projet trop complexe (et non pas d’une fuite de mémoire), et il suffit alors de l’augmenter. Si vous googlez l’erreur, vous trouverez plusieurs moyen de la résoudre en passant des paramètres particuliers à la JVM.
Et la question qui se posera alors est: « comment faire pour relever également la limite de mémoire utilisée par Maven? ». Après une recherche assez pointue et persévérante, google finit par donner la solution: par défaut la taille utilisée par Maven pour son espace Permgen est de 32Mb, ce qui est en général suffisant. Pour l’augmenter, il faut utiliser la variable système « MAVEN_OPTS » (la créer si elle n’existe pas), et lui ajouter par exemple le paramètre « -XX:MaxPermSize=256m ». Ceci augmentera la limite de mémoire à 256Mb, vous pouvez bien sûr mettre une autre valeur. Rappelons que nous parlons ici de la mémoire allouée au chargement des schémas de classe, et non de la mémoire totale de la JVM.
[…] Augmenter le Permgen Space utilisé lors du build maven. par Aldian (03/02/2012 17:27) Lors du build maven d’un projet assez complexe, il peut arriver que le build échoue sur une OutOfMemory Error (PermGen space). Les erreurs de ce type sont en général liées à des causes assez cryptiques, et sont donc généralement détestées par la plupart des développeurs. Fort heureusement, dans la majorité des cas, le problème vient tout simplement du fait que l’espace spécial de la mémoire alloué au chargement des schémas de classe a dépassé sa […] […]