«Java.lang.OutOfMemoryError: PermGen space» dans la construction Maven

J’obtiens cette erreur en construisant le projet Maven, j’ai augmenté MAVEN_OPTS mais j’ai tout de même trouvé des articles similaires mais ils font référence à autre chose. Comment puis-je réparer ça?

The system is out of resources. Consult the following stack trace for details. java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at org.codehaus.plexus.comstackr.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56) at com.sun.tools.javac.comp.Annotate.(Annotate.java:52) at com.sun.tools.javac.comp.Annotate.instance(Annotate.java:36) at com.sun.tools.javac.jvm.ClassReader.(ClassReader.java:215) at com.sun.tools.javac.jvm.ClassReader.instance(ClassReader.java:168) at com.sun.tools.javac.main.JavaComstackr.(JavaComstackr.java:293) at com.sun.tools.javac.main.JavaComstackr.instance(JavaComstackr.java:72) at com.sun.tools.javac.main.Main.comstack(Main.java:340) at com.sun.tools.javac.main.Main.comstack(Main.java:279) at com.sun.tools.javac.main.Main.comstack(Main.java:270) at com.sun.tools.javac.Main.comstack(Main.java:87) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.comstackr.javac.JavacComstackr.comstackInProcess(JavacComstackr.java:420) at org.codehaus.plexus.comstackr.javac.JavacComstackr.comstack(JavacComstackr.java:141) at org.apache.maven.plugin.AbstractComstackrMojo.execute(AbstractComstackrMojo.java:493) at org.apache.maven.plugin.ComstackrMojo.execute(ComstackrMojo.java:114) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) 

    Lorsque vous dites que vous avez augmenté MAVEN_OPTS , quelles valeurs avez-vous augmentées? Avez-vous augmenté le MaxPermSize , comme par exemple:

     export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m" 

    (ou sous Windows 🙂

     set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m 

    Si vous voulez faire de cette partie de votre POM une version reproductible, vous pouvez utiliser la variante fork de certains des plugins (en particulier comstackr: comstack et surefire: test ):

      org.apache.maven.plugins maven-comstackr-plugin 3.2  true 128m 1024m  -XX:MaxPermSize=256m     org.apache.maven.plugins maven-surefire-plugin 2.18  1 -Xmx1024m -XX:MaxPermSize=256m   

    Augmentez la taille de votre espace permanent, bien sûr. Utilisez l’option -XX:MaxPermSize=128m . Définissez la valeur sur quelque chose de approprié.

    J’ai trouvé une solution de commande git bash lorsque vous essayez de générer une guerre en utilisant git mvn clean install pour «java.lang.OutOfMemoryError: PermGen space» dans Maven

     use below command first $ export MAVEN_OPTS="-Xmx512m -Xss32m" then use your mvn command to clean install /build war file $ mvn clean install NOTE: you don't need -XX:MaxPermSize argument in MAVEN_OPTS when your are using jdk1.8 Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=XXXm; support was removed in 8.0 

    Lorsque j’ai rencontré cette exception, j’ai résolu ce problème en utilisant le panneau Exécuter les configurations … comme illustré ci-dessous. Particulièrement, sous l’onglet JRE, les arguments de la VM sont essentiels.
    ( “-Xmx1024m -Xms512m -XX: MaxPermSize = 1024m -XX: PermSize = 512m” ).

    entrer la description de l'image ici

    Nous sums confrontés à cette erreur lorsque le tas de génération permanente est plein et que certains d’entre nous utilisent l’invite de commande pour construire notre projet Maven dans Windows. Comme nous devons augmenter la taille du tas, nous pourrions définir notre variable d’environnement @ ControlPanel / System and Security / System et cliquez sur Modifier le paramètre et sélectionnez Avancé et définissez la variable d’environnement comme ci-dessous.

    • Nom de la variable: MAVEN_OPTS
    • Valeur de la variable: -XX: MaxPermSize = 128m

    Cette erreur très ennuyeuse alors ce que j’ai fait: Sous Windows:

     Edit system environment variables - > Edit Variables -> New 

    puis remplissez

     MAVEN_OPTS -Xms512m -Xmx2048m -XX:MaxPermSize=512m 

    entrer la description de l'image ici

    Ensuite, redémarrez la console et exécutez à nouveau la version maven. Plus de problèmes de taille d’espace / perm Maven.