2011-12-30 7 views
161

¿Cómo puedo hacer que maven-release-plugin se ejecute sin activar las pruebas?¿Cómo puedo obtener maven-release-plugin para omitir mis pruebas?

He tratado

-Dmaven.test.skip=true 

y

-DskipTests 

y

-DpreparationGoals=clean 

... sin embargo, ninguno de trabajo.

Sí, sé que no debería liberarme si las pruebas no se aprueban, pero no tengo control sobre hacer que mis compañeros de trabajo escriban pruebas confiables.

Respuesta

375

-Darguments="-DskipTests" es lo que quiere, o configurar explícitamente las ejecuciones bifurcadas en el pom.

+1

Funciona para mí, gracias y +1 pero ... Wny es esto necesario? – javamonkey79

+4

Es necesario porque el proceso de lanzamiento crea un nuevo proceso de generación y los tpical -DskipTests no se transfieren como propiedades del sistema. – Eddie

+4

desearía poder votar por usted '2'. Pasé horas tratando de hacer esto bien ... pero 1. ¿Perdí algo en la documentación o me falta algo en la documentación del mvn? 2. Tenía \t \t ' verdadero' configurado en mi compañía POM. Aún no funcionó. Lo que funcionó fue tu solución. –

18

Si lo que desea es pasar las pruebas de integración, esto lo hará:

-Darguments="-DskipITs" 
36

-Darguments="..." pasa argumentos al proceso experta en forma de horquilla, pero es importante darse cuenta de que hay dos interruptores diferentes que se utilizan aquí. El -DskipTests obliga a maven a no ejecutar ninguna prueba, pero las pruebas aún se compilan (esto es importante si tiene alguna dependencia en un tipo de jar de prueba). El -Dmaven.test.skip=true obliga al experto a ni siquiera compilar las pruebas, lo que significa que no se generarán los frascos de prueba.

Por lo tanto, debe utilizar -Darguments, pero saltarse las pruebas que se ejecutan uso exclusivo skipTests, para evitar que la compilación de uso maven.test.skip.

3

Para saltar toda la prueba de la unidad, se utiliza el argumento

-Dmaven.test.skip = true

por lo que si desea omitir la prueba Unidad esto va a resolver

mvn install -Dmaven.test.skip=true 
mvn package -Dmaven.test.skip=true 

o bien puede definir skipTests en maven-surefire-plugin en

pom.xml

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.12.4</version> 
     <configuration> 
     <skipTests>true</skipTests> 
     </configuration> 
</plugin> 
+2

Esta pregunta es específicamente sobre el complemento de lanzamiento de Maven, por lo que estos no son los objetivos de Maven que se utilizarán. – Jaap

0

Sin experto plug-in desencadena literalmente prueba de compilación o ejecución. Son las fases del ciclo de vida de maven las que activan la (s) ejecución (es) de uno o más complementos, cuando estos tienen objetivos acotados a una fase específica.

lo tanto, sólo la ejecución de un objetivo único plug-in sería suficiente sin pruebas de ejecución:

mvn release:perform 

o combinar con el proyecto de construcción y embalaje:

mvn clean package release:perform 
Cuestiones relacionadas