2011-10-26 13 views
14

¿Cómo se puede aumentar el tamaño del montón del plugin Eclipse m2e? Básicamente, estoy tratando de ejecutar una prueba de integración automática utilizando Cargo y Selenium bajo STS (versión de Eclipse de SpringSource) con m2e preinstalado (el popular plugin de Maven para Eclipse).Aumente el tamaño del almacenamiento dinámico en el plugin m2e Eclipse

Siempre que corro

mvn verify 

me sale el famoso java.lang.OutOfMemoryError: Java montón de espacio ... 63M/63M. Así que investigué primero. Aumente la memoria a través de MAVEN_OPTS, Eclipse.ini/STS.ini, Ejecutar configuraciones, e incluso a través de los complementos de Maven a través del pom.xml. Nada ha cambiado. Mismo error y la misma cantidad de memoria 63M/63M.

Sé que mi proyecto funciona. El POM es correcto. ¿Por qué? Porque cuando ejecuto el mismo comando usando un Maven independiente. La prueba de integración con Selenium y Cargo funciona. De hecho esta es la última salida (hace 3 minutos):

[INFO] [beddedLocalContainer] Jetty 8.x Embedded is stopped 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 4 minutes 24 seconds 
[INFO] Finished at: Wed Oct 26 14:08:16 CST 2011 
[INFO] Final Memory: 70M/149M 
[INFO] ------------------------------------------------------------------------ 

No estoy pidiendo la manera de aumentar la memoria en el mando Maven autónomo. Específicamente estoy preguntando cómo aumentar el tamaño del montón para m2e.

Nota: de forma predeterminada, el complemento m2e Eclipse no tiene acceso directo al objetivo "verificar". Tienes que crear uno nuevo a través de la Configuración de ejecución (que no tiene una pestaña Args, fyi).

Respuesta

0

¿Ha intentado establecer la variable de entorno MAVEN_OPTS para la configuración de ejecución?

MAVEN_OPTS="-Xmx768M -XX:MaxPermSize=128m" 

podría ser que tendrá que editar las variables de entorno del sistema si colocarlo en la configuración de ejecución no ayuda. Ver here o here

+0

Sí, lo hice. Pero eso no afectó el plugin m2e. Afectó el plugin Maven independiente. – krams

+0

Esto no funcionó para mí ... –

0

Me he enfrentado a un problema similar. Crea un archivo llamado mavenrc_pre.bat en Windows o .mavenrc en Linux en tu carpeta de inicio y configura tus maven_opts como desees en él. Está trabajando con m2e incluido con Eclipse Indigo.

+0

Voy a intentar esto una vez que regrese al trabajo – krams

33

Al trabajar con el complemento Maven 2, la configuración de las opciones de java en eclipse.ini o en la variable de entorno MAVEN_OPTS no tendrá ningún efecto en su compilación. Debe agregar algunos argumentos de línea de comando a través del diálogo "Editar configuración e iniciar" en Eclipse.

"Ejecutar como"> "Maven Build", haga clic en la pestaña "JRE", ingrese VM args, p.

-Xms128M -Xmx512M

+1

¿hay alguna forma de que podamos agregar permanentemente esta configuración a m2e? para que no tengamos que escribir en cada ejecución?/build? – KyelJmD

+4

Sí, puede agregarlos a través de Eclipse> Preferencias> Maven> Instalaciones> "Configuración global para instalación integrada". Allí puede señalar su configuración maven fuera de Eclipse. – crasp

+0

En JBoss Developer Studio 8.1.0.GA, Preferencias> Maven> Instalaciones muestra dos instalaciones de Maven: EMBEDDED y WORKSPACE. Ambos están atenuados, al igual que el botón Editar ... – nclark

8

Como complemento a la respuesta ya aceptado, cuando se invoca "mvn" en la línea de comandos, que son realmente invoque el script envoltorio mvn.bat (o mvn.sh). Es esta secuencia de comandos envoltorio que utiliza la variable de env MAVEN_OPTS al iniciar el maven jvm real.

m2e, por otro lado, quiere un mayor control sobre cómo se inicia el maven jvm, por lo que lo hace directamente sin el envoltorio. Esta es la razón por la que agrega su configuración de memoria directamente a los argumentos VM m2e run/debug configuration, en lugar de utilizar MAVEN_OPTS.

Si desea M2e para pasar lo que ya tiene en MAVEN_OPTS a la JVM experto, en el cuadro de diálogo "Editar configuración y puesta en marcha" en Eclipse:

"Ejecutar como"> "Maven construir", haga clic en el Pestaña "JRE", ingrese VM args, por ejemplo

${env_var:MAVEN_OPTS} 
0

Usted puede agregar en su pom.xml su configuración de memoria:

<plugin> 
<artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
    ... 
    <fork>true</fork> 
    <meminitial>128m</meminitial> 
    <maxmem>512m</maxmem> 
    ... 
    </configuration> 
</plugin> 

La descripción de todos los parámetros experto compilador-plugin es aquí: link

Cuestiones relacionadas