2011-01-06 13 views
8

Estoy tratando de ejecutar la tarea de hormigas, sin embargo, me sale el siguiente error:Fuera de error de memoria en la hormiga

[javadoc] javadoc: error - java.lang.OutOfMemoryError: Please increase memory. 
[javadoc] For example, on the Sun Classic or HotSpot VMs, add the option -J-Xmx 
[javadoc] such as -J-Xmx32m. 
[javadoc] 1 error 
[javadoc] 103 warnings 

he intentado buscando en Google para averiguar cómo puedo establecer este valor, pero no puedo encontrarlo . He tratado

<javadoc maxmemory="256m"> 

He tratado

export ANT_OPTS=-Xmx256m 

pero aún así obtener la misma excepción. He tratado de aumentar el valor a 1024m witouth ningún éxito

actualización

lo resolví. No tiene nada que ver con poca memoria. Fue un ciclo sin fin en mi generación javadoc.

+0

Usted parece ser la falta -J recomienda en su exportación. – dlamblin

+0

No, eso no funciona –

Respuesta

13

Lo resolví.

No tiene nada que ver con poca memoria. Fue un ciclo sin fin en mi generación javadoc.

La forma correcta de establecer más memoria para ant es usando export ANT_OPTS=-Xmx256m en * nix.

En Windows siguen la usual steps for setting environment variables.

+2

Hola ¿Cómo descubriste que hay un bucle sin fin? Estoy enfrentando un problema similar mientras dexing las clases. –

+0

Había un bucle endlees en el código que teníamos donde generamos javadoc. –

+0

¿Puedes por favor elaborar? ¿El bucle estaba entre las referencias de javadoc? Si es así, ¿cómo se puede obtener más información sobre el bucle en sí, cómo se puede rastrear ese bucle? –

5

La tarea ant de javac tiene el atributo memoryMaximumSize que debe establecer en el mismo valor que para -Xmx.

<javac memoryMaximumSize="256m" ...> 
    ... 
</javac> 

Debo agregar que esto supone que es de hecho una tarea javac que está causando la sobrecarga de la memoria.

+0

Intenté esto. No funcionó Mismo comportamiento –

+0

¿Fue el mismo comportamiento porque la cantidad de memoria no cambió donde la necesitaba o no asignó suficiente memoria? Tenga en cuenta también que cambiar el tamaño máximo de la memoria puede afectar los tamaños del montón y la pila de forma diferente. Aumentar la cantidad de memoria en realidad puede resultar en una pila o pila más pequeña en algunos casos. Alguna experimentación será necesaria. –

+2

La opción anterior se debe combinar con fork = "true" para trabajar. Esto ejecutará javac en un proceso separado con su propia configuración de tamaño de almacenamiento dinámico. Esto también limitará cualquier pérdida de memoria en la implementación de javac a su propio proceso hijo, sin afectar el proceso Ant primario. – zkarthik

Cuestiones relacionadas