Ciclo de vida de compilación de Maven

Maven se basa en el concepto central de un ciclo de vida de construcción. Lo que esto significa es que el proceso para construir y distribuir un artefacto en particular, es decir, un proyecto está claramente definido. Para la persona que construye un proyecto solo es necesario aprender un pequeño conjunto de comandos para construir cualquier proyecto de Maven, y el POM se asegurará de que obtenga los resultados que desea.

Ciclos de vida de compilación integrados

Hay tres ciclos de vida de compilación integrados: default, clean y site

 

  • default: maneja la construcción y el despliegue del proyecto.
  • clean: limpia los archivos y carpetas producidos por Maven.
  • site: maneja la creación de la documentación del proyecto

Cuando ejecutamos el comando mvn package para construir un proyecto Maven se puede observar cómo se ejecutan una serie de pasos. Si nos fijamos en estos pasos notaremos que no tenemos que especificar explícitamente un ciclo de vida. En cambio, lo que especificamos es una fase. Maven infiere el ciclo de vida en función de la fase especificada. Por ejemplo, la fase package indica que es el ciclo de vida default.

Cuando Maven se ejecuta con la fase package como parámetro, se ejecuta el ciclo de vida de compilación default. Maven ejecuta todas las fases en secuencia, hasta la fase especificada incluyendo a esta última(en nuestro caso, la fase package).

Si bien cada ciclo de vida tiene varias fases, veamos las fases importantes de cada ciclo de vida:

  • El ciclo de vida clean: la fase clean elimina todos los archivos y carpetas creados por Maven como parte de su compilación.
  • El ciclo de vida site: la fase site genera la documentación del proyecto, que se puede publicar, así como una plantilla que se puede personalizar aún más.
  • El ciclo de vida default: Las siguientes son algunas de las fases importantes del ciclo de vida default:
    • validate: esta fase valida que toda la información del proyecto esté disponible y sea correcta
    • compile: esta fase compila el código fuente
    • test: esta fase ejecuta pruebas unitarias dentro de un marco adecuado
    • package: esta fase empaqueta el código compilado en su formato de distribución
    • verify: esta fase ejecuta controles para verificar que el paquete es válido
    • install: esta fase instala el paquete en el repositorio local
    • deploy: esta fase instala el paquete final en el repositorio configurado

Fases, plugins y goals

A continuación compartimos una tabla de fases, plugins y goals:

Fase

Plugin

Goal

clean

Maven Clean plugin

clean

site

Maven Site plugin

site

process-resources

Maven Resources plugin

resource

compile

Maven Compiler plugin

compile

test

Maven Surefire plugin

test

package

Varía según el empaquetado; por

ejemplo, Maven JAR plugin

jar(en el caso del Maven JAR plugin)

install

Maven Install plugin

install

deploy

Maven Deploy plugin

deploy

Apache Maven: Construcción de proyectos de cero a avanzado

Aprenda a construir sus aplicaciones Java y Scala de forma sencilla y siguiendo las mejores prácticas de desarrollo

Información de las dependencias
				
					<!-- Maven Clean plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-clean-plugin</artifactId>
  <version>3.2.0</version>
  <type>maven-plugin</type>
</dependency>
				
			
				
					<!-- Maven Site plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-site-plugin</artifactId>
  <version>4.0.0-M4</version>
  <type>maven-plugin</type>
</dependency>
				
			
				
					<!-- Maven Resources plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-resources-plugin</artifactId>
  <version>3.3.0</version>
  <type>maven-plugin</type>
</dependency>
				
			
				
					<!-- Maven Compiler plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.10.1</version>
  <type>maven-plugin</type>
</dependency>
				
			
				
					<!-- Maven Surefire plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>3.0.0-M8</version>
  <type>maven-plugin</type>
</dependency>


				
			
				
					<!-- Maven Install plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-install-plugin</artifactId>
  <version>3.1.0</version>
  <type>maven-plugin</type>
</dependency>

				
			
				
					<!-- Maven Deploy plugin -->

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-deploy-plugin</artifactId>
  <version>3.0.0</version>
  <type>maven-plugin</type>
</dependency>
				
			

Te invito a que le des un vistazo a la lista de mis cursos donde encontrarás todo un curso dedicado a Apache Maven y otros relacionados con Python, Scala y Apache Spark.

Entradas creadas 26

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Comienza escribiendo tu búsqueda y pulsa enter para buscar. Presiona ESC para cancelar.

Volver arriba