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.
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
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 :
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