Mostrando entradas con la etiqueta Errores. Mostrar todas las entradas
Mostrando entradas con la etiqueta Errores. Mostrar todas las entradas

miércoles, 7 de noviembre de 2007

Problema Javac java lang OutOfMemoryError









Muchos desarrolladores Java habrán tenido este error al tratar de compilar una gran cantidad de clases, java.lang.OutOfMemoryError:

The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: Java heap space


Si estas compilando con javac em Apache Ant, sete el atributo fork como true, para correr javac en un proceso separado con su propio espacio. Si el atributo fork es seteado false o no es seteado (por defecto es false), javac correra en el mismo proceso que Ant y su heap size sera de 64m.


<javac fork="true"
srcdir="${basedir}/src"
destdir="${basedir}/build/classes"
classpath="${project.classpath}"
memoryinitialsize="256m"
memorymaximumsize="256m">
</javac>



Si no quieres modificar el archivo build.xml, otra opcion es incrementar el heap size de la JVM Ant y seguir ejecutando javac. Solo necesitas setear la variable de entorno ANT_OPTS:

export ANT_OPTS="-Xms256m -Xmx256m" (ksh/bash)
setenv ANT_OPTS="-Xms256m -Xmx256m" (tcsh/csh)
set ANT_OPTS="-Xms256m -Xmx256m" (Windows)


De estas maneras podrás lograr compilar tus clases java si te sale este problema de memoria
;)