Cómo omitir las pruebas cuando se utiliza reactor de Maven?
-
27-09-2019 - |
Pregunta
Estoy trabajando en un proyecto de varios módulos Maven. Quiero construir un módulo dado y pasar las pruebas unitarias para acelerar el proceso de acumulación.
He intentado lo siguiente:
mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests
mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True
Sin embargo, esto no tiene un efecto en absoluto. ¿Alguna pista?
Solución
Sus primeras miradas línea como la idea correcta, pero en lugar de -Dgoals
se debe utilizar -Dmake.goals
.
Desde el reactor de plug-in página ejemplos:
El reactor plugin de lanzamientos de un segundo copia de Maven para hacer su magia. Esta copia de Maven no necesariamente tiene todas las banderas y opciones que se pasó a su primera copia de Maven, incluyendo la bandera --debug, sistema de propiedades, y -DskipTests.
Puede pasar argumentos adicionales a el Maven dio lugar al tratarlos como metas con -Dmake.goals, como esto:
mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests
En otras palabras, los "objetivos" son sólo Parámetros extra de línea de comandos pasaron a la Maven generado; no lo hacen necesariamente tiene que ser "objetivos".
Si desea obtener realmente de lujo que, pueden preferir plazo acaba el reactor seca Plugin en modo -Dmake.printOnly, descrito arriba. Eso va a imprimir el comando que el plugin tendría empleada en la fabricación, pero que se puede ajustar línea de comandos al contenido de su corazón!
Otros consejos
Teniendo en cuenta la estructura del proyecto
/
A/pom.xml
B/pom.xml
C/pom.xml
D/pom.xml
E/pom.xml
pom.xml (parent pom file that includes A,B,C,D,E modules)
Al igual que en el
mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True
A pesar de que no estoy seguro de si mi enfoque hace exactamente lo que hace el plugin del reactor, pero he encontrado el siguiente enfoque funcionó bastante bien para mí
mvn -pl=C,D,E -DskipTests=true package
¿Usted ha intentado incluir la opción -Dmaven.test Saltee = true (nótese el caso) a su argumento de línea de comando que se está ejecutando? Como Java, Maven es sensible a mayúsculas. Pero, en general, se puede eliminar la parte = true y que debería también causa las pruebas que hay que saltar.