¿Qué es Maven y para qué se utiliza?

4
5790

Una de las cosas que más me gusta de Java es la gran cantidad de código que hay escrito allá afuera. Son cientos o quizás miles de librerías que podemos utilizar para múltiples propósitos. Programar no significa inventar la rueda sino aprovechar los recursos que ya existen de la mejor forma para lograr los objetivos propuestos.

Una de las herramientas más útiles a la hora de utilizar librerías de terceros es Maven. Maven se utiliza en la gestión y construcción de software. Posee la capacidad de realizar ciertas tareas claramente definidas, como la compilación del código y su empaquetado. Es decir, hace posible la creación de software con dependencias incluidas dentro de la estructura del JAR. Es necesario definir todas las dependencias del proyecto (librerías externas utilizadas) en un fichero propio de todo proyecto Maven, el POM (Project Object Model). Este es un archivo en formato XML que contiene todo lo necesario para que a la hora de generar el fichero ejecutable de nuestra aplicación este contenga todo lo que necesita para su ejecución en su interior.

Sin embargo, la característica más importante de Maven es su capacidad de trabajar en red. Cuando definimos las dependencias de Maven, este sistema se encargará de ubicar las librerías que deseamos utilizar en Maven Central, el cual es un repositorio que contiene cientos de librerías constantemente actualizadas por sus creadores. Maven permite incluso buscar versiones más recientes o más antiguas de un código dado y agregarlas a nuestro proyecto. Todo se hará de forma automática sin que el usuario tenga que hacer nada más que definir las dependencias.

Maven puede ser descargado e instalado desde su página oficial. Sin embargo el uso de consola para algunos usuarios puede ser un poco tedioso.

Screen-shot-2011-03-14-at-10.45.03

Netbeans posee integración con Maven, es decir, podemos crear proyectos que utilicen Maven aprovechando la interface gráfica de Netbeans. Veamos un ejemplo de cómo crear proyectos Maven, agregar dependencias y descargar las librerías necesarias desde el repositorio remoto.

Creación de un proyecto Maven

Lo primero que haremos será ir a Netbens y crear un nuevo proyecto. Debemos tener cuidado de escoger Maven/Java Application a la hora de escoger el tipo de proyecto.

que es maven y para que se utiliza

 

Llamaré mi proyecto MavenTest.

En este proyecto voy a agregar las dependencias de JFreeCharts. Podemos buscar los repositorios que necesitamos en la siguiente dirección:

http://mvnrepository.com/

En el caso de JFreeCharts podemos encontar las dependencias en la siguiente dirección:

http://mvnrepository.com/artifact/org.jfree/jfreechart

Yo escogeré la versión 1.0.19 para este ejemplo. La dependencia es la siguiente:

Existen dos formas de agregar esto a nuestro proyecto, ya sea a través de la interfaz gráfica de usuario o colocando esta dependencia directamente en el archivo pom.xml

Lo haremos a través de la interfaz gráfica de usuario. El árbol de nuestro proyecto es ligeramente diferente al de una aplicación común de Java.

que es maven y para que se utiliza

Vemos que en el caso del proyecto Maven tenemos las carpetas Java Dependencies, Dependencies y Project Files. Vamos a darle clic derecho a la carpeta Dependencies y escogeremos la opción Add Dependency.

que es maven y para que se utiliza

 

Nos aparece una ventana donde colocaremos la información de JFreeCharts.

que es maven y para que se utiliza

Al hacer clic en “Add” se agregará a nuestro proyecto todo lo que necesitamos para utilizar JFreeCharts. Al final del proceso de descarga tendremos nuestro proyecto con sus respectivas dependencias ya instaladas y listas para utilizar.

que es maven y para que se utiliza

Si verificamos el archivo pom.xml (clic derecho sobre el proyecto, Open POM) veremos lo siguiente:

que es maven y para que se utiliza

Si fuésemos a agregar las dependencias de forma manual basta con copiar el código de dependencias en este archivo y listo. Existen cientos de librerías en los repositorios de Maven. Es posible también utilizar GitHub para hostear repositorios y llamarlos desde Maven. Esta herramienta es sumamente útil y nos facilitará muchísimo la creación de proyectos en Java.

Espero que la información suministrada sea de utilidad para ustedes.

Saludos.

 

  • Darwin Omar Guevara Diaz

    simple y entendible 😀

  • Antony García González

    (Y)

  • Waira Rodriguez

    Las imágenes se ven muy mal. La información es buena.

    • Antony García González

      Si se hace clic sobre la imagen se puefe agrandar