2011-04-20 10 views
6

Tengo un proyecto de varios módulos maven. El objetivo final finaliza todas las bibliotecas, etc., que construimos en un tarball y RPM para su distribución. Este objetivo usa maven-assembly-plugin, y lleva siempre, generalmente entre un cuarto y la mitad de nuestro tiempo total de compilación.¿Puedo hacer que maven-assembly-plugin vaya más rápido?

Creo que ya le estamos diciendo a Maven que ejecute multiproceso (aunque no soy positivo, y no sé cómo comprobarlo). ¿Hay alguna otra optimización que pueda hacer para que el desempaquetado/reempaque sea más rápido? ¿Es solo cuestión de usar una máquina más robusta? Nuestro proyecto no parece que grande (el resultado final es ~ 70-80 MB) pero lleva más de un minuto solo para esa fase.

Respuesta

1

Intente aumentar la memoria especificando MAVEN_OPTS = -Xmx [algún valor grande]. Logré acelerarlo significativamente, pero aún es más lento que el alquitrán. Si tengo tiempo, obtendré las fuentes y lo describiré.

+0

Supere mi memoria a 1GB, y creo que va un * bit * más rápido - esto puede estar limitado por la velocidad de la CPU en la caja de construcción, comprimir y descomprimir un montón de archivos ... – Coderer

+0

Para mi punto de referencia, yendo a 2 GB (8 GB en el sistema, 2 GB + gratis) en mi caso desaceleró un poco el conjunto: 34,2 s originalmente, 35,5 s con 2 GB. –

2

He visto esto suceder cuando el reactor maven es enorme, para un proyecto de múltiples niveles y multinivel con una enorme jerarquía de dependencias. Si este es tu caso, podrías considerar dividir tu proyecto maven en otros más pequeños, o sugerir/pedir mejoras para el complemento de ensamblaje maven.

Cuestiones relacionadas