2010-02-05 7 views
9

¿Hay alguna manera de forzar a Maven 2 (> 2.0.10) a imprimir los comandos javac reales que está ejecutando? Nos quedamos sin memoria a pesar de que hemos aumentado al máximo usando MAVEN_OPTS. Me gustaría poder ver el comando real que se está ejecutando y que se está quedando sin memoria.Config Maven 2 para imprimir comandos javac durante la fase de compilación

He intentado usar el ajuste detallado a continuación en la sección de gestión de plug-in del archivo pom, pero eso no parece que me diera el comando javac:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <configuration> 
     <source>1.5</source> 
     <target>1.5</target> 
     <maxmem>1024m</maxmem> 
     <compilerArguments> 
      <verbose/> 
     </compilerArguments> 
    </configuration> 
</plugin> 

Respuesta

14

¿Ha intentado ejecutar Maven con el comando -X a imprimir información de depuración?

$ mvn -? 
... 
-X,--debug  Produce execution debug output 

El maven-javac-plugin entonces debe imprimir la ruta de clase que se utiliza, los directorios de origen/ruta, etc.

+0

Hmm. Eso no me da el comando javac, pero sí me muestra que el maxmem que se pasa al comando no presta atención a lo establecido en MAVEN_OPTS. Tampoco presta atención a maxmem establecido en la sección de configuración del complemento del compilador. archivo pom tampoco. –

+0

Creo que quiere usar 'M2_OPTS' –

+1

El envvar correcto es MAVEN_OPTS por ejemplo MAVEN_OPTS = -Xmx1024m. La configuración de maxmem en el pom solo se aplica cuando configura el complemento del compilador para convertir el javac en un nuevo jdk. De lo contrario, el complemento se ejecuta dentro del mismo Jdk que Maven y, por lo tanto, dentro de la memoria transmitida en el cli a través de MAVEN_OPTS. –

Cuestiones relacionadas