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.
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
org.apache.maven.plugins
maven-clean-plugin
3.2.0
maven-plugin
org.apache.maven.plugins
maven-site-plugin
4.0.0-M4
maven-plugin
org.apache.maven.plugins
maven-resources-plugin
3.3.0
maven-plugin
org.apache.maven.plugins
maven-compiler-plugin
3.10.1
maven-plugin
org.apache.maven.plugins
maven-surefire-plugin
3.0.0-M8
maven-plugin
org.apache.maven.plugins
maven-install-plugin
3.1.0
maven-plugin
org.apache.maven.plugins
maven-deploy-plugin
3.0.0
maven-plugin
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.