Si se está quedando sin espacio en el montón durante la prueba JUnit surefire (o failsafe), puede que cambiar MAVEN_OPTS no lo ayude. Seguí probando diferentes configuraciones en MAVEN_OPTS sin suerte hasta que encontré this post que resolvió el problema.
Básicamente los JUnits se bifurcan en su propio entorno e ignoran los ajustes en MAVEN_OPTS. Debe configurar surefire en su pom para agregar más memoria para los JUnits.
¡Espero que esto pueda salvar a otra persona en algún momento!
Editar: solución de Keith Chapman's blog por si acaso se rompe el vínculo Copia de un día:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>pertest</forkMode>
<argLine>-Xms256m -Xmx512m</argLine>
<testFailureIgnore>false</testFailureIgnore>
<skip>false</skip>
<includes>
<include>**/*IntegrationTestSuite.java</include>
</includes>
</configuration>
</plugin>
Actualización (05/31/2017): Gracias a @johnstosh por señalar esto - surefire ha evolucionado un poco desde que expuse esta respuesta. Aquí hay un enlace a su documentation y un ejemplo de código actualizado (arg línea sigue siendo la parte importante para esta pregunta):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<forkCount>3</forkCount>
<reuseForks>true</reuseForks>
<argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
<systemPropertyVariables>
<databaseSchema>MY_TEST_SCHEMA_${surefire.forkNumber}</databaseSchema>
</systemPropertyVariables>
<workingDirectory>FORK_DIRECTORY_${surefire.forkNumber}</workingDirectory>
</configuration>
</plugin>
Supongo que está en la versión de 64 bits de Windows? De lo contrario, no va a especificar más de 1.5G como el tamaño del almacenamiento dinámico, las otras ventanas de 0.5G le permitirán usarlo directamente y la JVM lo requerirá. Existe una opción para que Windows use solo 1G para el código de modo Kernal y 3G para el código de modo de usuario, pero la JVM Sun no le permitirá usarlo. – vickirk
@vickirk Estoy en la versión de 64 bits de Windows –
¿También está utilizando una versión de 64 bits de la JVM? Aparecerá como Windows x64 en la lista desplegable en la página de descarga de JDK: http://java.sun.com/javase/downloads/widget/jdk6.jsp – Powerlord