mvn clean install vs implementar frente de liberación


Estoy aprendiendo maven, y recientemente hemos necesitado ir más y más. Me gustaría saber la diferencia entre

mvn clean install

mvn release

mvn deploy

Por favor, sea lo más descriptivo posible.

Author: alex, 2010-09-07

2 answers

El clean, install y deploy las fases son válidas las fases del ciclo de vida e invocarlas activará todas las fases que las preceden, y los objetivos vinculados a estas fases.

Mvn clean install

Este comando invoca la fase clean y luego la fase install secuencialmente:

  • clean: elimina los archivos generados en tiempo de compilación en el directorio de un proyecto (target por defecto)
  • install: instala el paquete en el repositorio local, para su uso como dependencia en otros proyectos localmente.

Mvn deploy

Este comando invoca la fase deploy:

  • deploy: copia el paquete final al repositorio remote para compartirlo con otros desarrolladores y proyectos .

Mvn release

Esta no es una fase válida ni una meta, así que esto no hará nada. Pero si se refiere a la Maven Release Plugin que se utiliza para automatizar la gestión de versiones. La liberación de un proyecto se realiza en dos pasos: prepare y perform. Como se documenta:

La preparación de una liberación pasa por el siguientes fases de lanzamiento:

  • Compruebe que no hay cambios no comprometidos en las fuentes
  • Compruebe que no hay dependencias de INSTANTÁNEAS
  • Cambie la versión en los POMs de x-SNAPSHOT a una nueva versión (usted se le pedirá el versiones para use)
  • Transformar la información SCM en el POM para incluir el final destino de la etiqueta
  • Ejecute las pruebas del proyecto contra los POMs modificados para confirmar que todo está en funcionamiento
  • Confirmar los POMs modificados
  • Etiqueta el código en el SCM con un nombre de versión (se le pedirá for)
  • Bump the version in the POMs to a new value y-SNAPSHOT (estos valores también se le pedirá)
  • Confirmar el modificado POMs

Y luego:

Al realizar una liberación se ejecuta el siguientes fases de lanzamiento:

  • Checkout desde una URL de SCM con etiqueta opcional
  • Ejecute los objetivos Maven predefinidos para liberar el proyecto (de forma predeterminada, deploy site-deploy)

Véase también

 180
Author: Pascal Thivent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-07 17:22:39
  • mvn install pondrá su proyecto maven empaquetado en el repositorio local, para la aplicación local usando su proyecto como una dependencia.
  • mvn release básicamente pondrá su código actual en una etiqueta en su SCM, cambiará su versión en sus proyectos.
  • mvn deploy pondrá su proyecto maven empaquetado en un repositorio remoto para compartirlo con otros desarrolladores.

Recursos :

 20
Author: Colin Hebert,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-07 17:15:27