Je reçois cette erreur en construisant le projet Maven, j'ai augmenté MAVEN_OPTS mais tout de même, j'ai trouvé des messages 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.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.Java:56)
at com.Sun.tools.javac.comp.Annotate.<init>(Annotate.Java:52)
at com.Sun.tools.javac.comp.Annotate.instance(Annotate.Java:36)
at com.Sun.tools.javac.jvm.ClassReader.<init>(ClassReader.Java:215)
at com.Sun.tools.javac.jvm.ClassReader.instance(ClassReader.Java:168)
at com.Sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.Java:293)
at com.Sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.Java:72)
at com.Sun.tools.javac.main.Main.compile(Main.Java:340)
at com.Sun.tools.javac.main.Main.compile(Main.Java:279)
at com.Sun.tools.javac.main.Main.compile(Main.Java:270)
at com.Sun.tools.javac.Main.compile(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.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.Java:420)
at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.Java:141)
at org.Apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.Java:493)
at org.Apache.maven.plugin.CompilerMojo.execute(CompilerMojo.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 avoir augmenté MAVEN_OPTS
, quelles valeurs avez-vous augmentées? Avez-vous augmenté la MaxPermSize
, comme dans l'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 construction répétable, vous pouvez utiliser la variante fork de quelques plugins (en particulier compiler: compile et surefire: test ):
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<fork>true</fork>
<meminitial>128m</meminitial>
<maxmem>1024m</maxmem>
<compilerArgs>
<arg>-XX:MaxPermSize=256m</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18</version>
<configuration>
<forkCount>1</forkCount>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
</configuration>
</plugin>
Augmentez la taille de votre espace permanent, bien sûr. Utilisez l'option -XX:MaxPermSize=128m
. Définissez la valeur sur quelque chose d’approprié.
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
Ensuite, redémarrez la console et réexécutez la construction maven. Plus de problèmes d'espace Maven/taille de perm.
Nous sommes confrontés à cette erreur lorsque le tas de génération permanente est plein et que certains d’entre nous utilisons la commande Invite pour construire notre projet maven dans Windows. étant donné que nous devons augmenter la taille du tas, nous pouvons définir notre variable d'environnement @ ControlPanel/System and Security/System et cliquer surModifier le paramètre, sélectionner Advanced et définir la variable d'environnement comme suit
J'ai trouvé une solution de commande git bash lorsque vous essayez de construire war en utilisant git mvn clean install for «Java.lang.OutOfMemoryError: espace PermGen» dans l'erreur de construction 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