El camino seguido por Maven es el siguiente:
- Configura tu ’build’ en vez de codificarla en un script.
- Reusa la lógica de creación.
- Una organización de dependencias coherente.
Maven también incluye una manera consistente definir dependencias en el proyecto con otras librerías, ya sean externas o bien internas fruto de desarrollos locales. Automáticamente se bajan las dependencias desde los repositorios remotos o locales, según el tipo que sean las librerías. Maven es extensible vía plugins fácilmente desarrollables. La disponibilidad de plugins para Maven is muy alta cubriendo diferentes áreas: packaging, reporting, IDEs, etc...
Con Maven como la herramienta base de la gestión de los proyectos y construcción podemos crear una serie de funcionalidades e integraciones para automatizar, simplificar e incrementar la calidad del proyecto y la documentación así como acelerar el desarrollo de los proyectos java. Una visión general de las funcionalidades que podemos proveer usando maven se describen en el siguiente gráfico:
- Project Build (Construcción del proyecto): Permite la construcción mediante un único comando los paquetes de proyecto requeridos (JAR, EAR, WAR, etc...). Además, la construcción de proyectos complejos como composición de múltiples subproyectos es muy simple usando las dependencias (ejemplo: un EAR con múltiples JARs y WARs).
- Test Environment (Pruebas): Integrado en el ciclo de construcción tenemos la ejecución de las pruebas definidas, incluyendo unit tests, functional tests and integration tests.
- Automated Deployment (despliegue automático): Usando \\’Profiles\\’ (explicado más abajo) e integrando con Ant, el despliegue automático de la aplicación sobre cualquier servidor de aplicaciones o como stand-alone se simplifica de gran manera.
- Metricas de la Calidad e Informes (Quality Metrics and Reports): Usando los plugins de Maven y sobre la ejecución de las pruebas del proyecto, es posible generar una gran variedad de métricas de la calidad e informes del software, generándose automáticamente como parte del proceso de construcción.
- IDE integration (Integración con un IDE): Maven puede ser integrado completamente con los IDEs existentes, como Eclipse, Netbeans e IntelliJ IDEA.
- Arquetipos (Archetypes): Los arquetipos maven son plantillas de proyectos que pueden ser usadas como referencia para los desarrollos siguiendo una aproximación determinada (ejemplo: struts, appfuse-modular-spring, etc...). Los arquetipos personalizados se pueden definir basándose en los proyectos más típicos desarrollados por el cliente, incluyendo las buenas prácticas del cliente, su estructura de proyectos o estándares de código.
- Perfiles (Profiles): Maven soporta la definición de diferentes configuraciones específicas para adaptarse a diferentes entornos. Permite substitución de las variables con los valores específicos de cada entorno (ejemplo: URLs, database string connections, etc..). Es posible también añadir dependencias adicionales o la ejecución de plugins específicos (como despliegue automático).
- Integración Continua (Continuous Integration): Se puede integrar Maven con un entorno de Integración Continua, como se explica en esta propuesta.
Para más información puedes seguir el siguiente post: Comenzando a usar Maven (II).
No hay comentarios:
Publicar un comentario