Que hace
Maven es una "herramienta de administración de compilación", es para definir cómo .java
se compilan sus archivos, cómo se .class
empaquetan en .jar
( .war
o .ear
) archivos, (pre / post) procesados con herramientas, administrando su CLASSPATH
y todos los otros tipos de tareas que se requieren para Construye tu proyecto. Es similar a Apache Ant o Gradle o Makefiles en C / C ++, pero intenta ser completamente autónomo para que no necesite herramientas o scripts adicionales al incorporar otras tareas comunes como descargar e instalar las bibliotecas necesarias, etc.
También está diseñado en torno al tema "portabilidad de compilación", para que no tenga problemas al tener el mismo código con el mismo buildscript funcionando en una computadora pero no en otra (este es un problema conocido, tenemos máquinas virtuales de Windows 98 máquinas ya que no pudimos obtener algunas de nuestras aplicaciones Delphi compiladas en ningún otro lado). Debido a esto, también es la mejor manera de trabajar en un proyecto entre personas que usan diferentes IDE, ya que los scripts Ant generados por IDE son difíciles de importar a otros IDE, pero todos los IDE de hoy en día entienden y apoyan a Maven ( IntelliJ , Eclipse y NetBeans ) Incluso si no te gusta Maven, termina siendo el punto de referencia para todas las otras herramientas de compilación modernas.
¿Por qué deberías usarlo?
Hay tres cosas sobre Maven que son muy agradables.
Maven (Después de declarar que los que usted está utilizando) descargar todas las bibliotecas que se utilizan y las bibliotecas que se utilizan de forma automática. Esto es muy agradable y hace que manejar muchas bibliotecas sea ridículamente fácil. Esto le permite evitar el "infierno de dependencia" . Es similar a la hiedra de la hormiga Apache .
Utiliza " Convención sobre configuración " para que, de manera predeterminada, no necesite definir las tareas que desea realizar. No necesita escribir un paso de "compilación", "prueba", "paquete" o "limpieza" como lo haría en Ant o un Makefile. Simplemente coloque los archivos en los lugares en los que Maven los espera y debería funcionar de inmediato.
Maven también tiene muchos complementos agradables que puede instalar que manejarán muchas tareas rutinarias desde la generación de clases Java desde un esquema XSD usando JAXB hasta la medición de la cobertura de prueba con Cobertura . Simplemente agréguelos a su cuenta pom.xml
y se integrarán con todo lo demás que desee hacer.
La curva de aprendizaje inicial es empinada, pero (casi) cada desarrollador profesional de Java usa Maven o lo desea. Debería usar Maven en cada proyecto, aunque no se sorprenda si le toma un tiempo acostumbrarse y que a veces desearía poder hacer las cosas manualmente, ya que aprender algo nuevo a veces duele. Sin embargo, una vez que realmente se acostumbre a Maven, descubrirá que la administración de compilación casi no demora en absoluto.
Cómo empezar
El mejor lugar para comenzar es " Maven en 5 minutos ". Le ayudará a comenzar con un proyecto listo para que pueda codificar con todos los archivos y carpetas necesarios configurados (sí, le recomiendo usar el arquetipo de inicio rápido, al menos al principio).
Después de comenzar, querrá comprender mejor cómo se debe utilizar la herramienta. Por eso, " Better Builds with Maven " es el lugar más completo para entender las entrañas de cómo funciona, sin embargo, " Maven: The Complete Reference " está más actualizado. Lea el primero para comprender, pero luego use el segundo como referencia.