java maven out-of-memory permgen

"Java.lang.OutOfMemoryError: PermGen space" en Maven build



out-of-memory (7)

Posible duplicado:
Cómo lidiar con el error "java.lang.OutOfMemoryError: PermGen space"

Obtengo este error al construir el proyecto Maven, aumenté MAVEN_OPTS pero, de todos modos, encontré algunas publicaciones similares, pero se refieren a otra cosa. ¿Cómo puedo solucionar esto?

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)


Aumente el tamaño de su espacio permanente, por supuesto. Use la -XX:MaxPermSize=128m . Establezca el valor en algo apropiado.


Cuando dice que aumentó MAVEN_OPTS , ¿qué valores aumentó? ¿ MaxPermSize , como en el ejemplo?

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

(o en Windows :)

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


Cuando encontré esta excepción, resolví esto mediante el uso de Configuraciones de ejecución ... panel como muestra la imagen a continuación. Especialmente, en la pestaña JRE, los argumentos VM son críticos.
( "-Xmx1024m-Xms512m -XX: MaxPermSize = 1024m -XX: PermSize = 512m" ).


Este error tan molesto es lo que hice: en Windows:

Edit system environment variables - > Edit Variables -> New

luego llena

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

Luego reinicie la consola y ejecute la construcción maven de nuevo. No más problemas de tamaño de espacio / permanente de Maven.


He encontrado una solución al comando git bash cuando intentas construir una guerra usando git mvn clean install para "java.lang.OutOfMemoryError: PermGen space" en Maven error de construcción

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


Nos enfrentamos a este error cuando el montón de generación permanente está lleno y algunos de nosotros usamos el símbolo del sistema para construir nuestro proyecto experto en Windows. ya que necesitamos aumentar el tamaño del almacenamiento dinámico, podemos configurar nuestra variable de entorno @ ControlPanel / System y Security / System y allí hacer clic en Cambiar configuración y seleccionar Avanzado y establecer la variable de entorno como se muestra a continuación

  • Nombre de variable: MAVEN_OPTS
  • Valor variable: -XX: MaxPermSize = 128m

Si desea hacer esta parte de su POM para una compilación repetible, puede usar la variante de horquilla de algunos de los complementos (especialmente compiler:compile y 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>