Es importante conocer varios conceptos esenciales del entorno Maven.
- Project Object Model (POM)
- Cada proyecto Maven proporciona un archivo pom.xml que
captura dependencias, propiedades de la estructura del proyecto, tareas de la
fase de construcción y comportamiento. La mayoría de las propiedades del POM tienen
valores predeterminados que dan como resultado un mecanismo compacto pero potente
para describir el comportamiento de construcción del proyecto.
- Fases de construcción y el ciclo de construcción
- Un ciclo de construcción consta de varias fases. Cuando se emite un
mandato de fase, Maven ejecuta cada fase de la secuencia hasta la fase definida. Una
vez definido el archivo pom.xml, las herramientas de Maven dan
prioridad a determinadas fases de construcción y responden a las fases de
validación, generación de código, ensamblaje de recursos y
compilación.
Un ciclo de construcción consta de las fases siguientes:
- validar
- compilar
- probar
- empaquetar
- prueba de integración
- verificar
- instalar
- desplegar
Para obtener más información sobre el ciclo de
construcción, consulte http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
- Objetivo
- Un objetivo representa una tarea específica que es más precisa que una fase de
construcción y que contribuye a la construcción y gestión de un proyecto.
- Empaquetado
- Definir el empaquetado asigna un conjunto de objetivos predeterminados. Son
ejemplos de valores de empaquetado válidos: jar, war, ear y pom.
- Plug-in de Maven
- Un plug-in describe un conjunto de objetivos que están asociados a un sistema o
proceso de empaquetado determinado.
- Mojo
- Es una tarea específica que se implementa dentro de un plug-in. Por ejemplo, una
implementación de una clase Java™ para
desplegarla en el entorno de ejecución preferido.
- Arquetipo
- Los arquetipos se utilizan como plantillas de proyecto para configurar nuevos
proyectos. Estas plantillas facilitan el habilitar normas dentro de la empresa
mediante la definición de objetivos de empaquetado, valores de plug-in y
dependencias predefinidas respecto de bibliotecas estándar.
- Repositorios de Maven
- Los repositorios se utilizan para almacenar artefactos de construcción y
dependencias de diferentes tipos. Por ejemplo, arquetipos, plug-ins y
archivos JAR, entre otros. Los repositorios locales se llenan según sea necesario a
partir de repositorios remotos con fines de construcción.