"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
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>