Maven

January 17, 2012

Desde que entre en mi nuevo puesto he tenido que enfrentarme a tecnologías con las que no me había topado antes. Hoy quiero hablar de maven. En mi experiencia como desarrollador he trabajado principalmente con dos lenguajes de programación, por un lado php y por otro y por encima del anterior con python. Cuando los proyectos se hacen relativamente grandes el proceso de configuración del proyecto en sí para poder comenzar a trabajar es a veces excesivamente costoso, en python esto se resuelve con virtualenv, pip y pypi. En java esto se puede resolver con maven.

maven es más que un sistema de repositorios, ya que tambien permite construir los proyectos,  compilándolos y generando los artefactos necesarios en cada caso. Esto puede resultar extraño para alguien que viene de un mundo en el que los lenguajes no tienen que ser compilados,  en python todos los requerimientos son de tiempo de ejecución, sin embargo, en un lenguaje compilado, pueden existir distintos tipos de dependencias, lo que hace casi una necesidad que el mismo software que se usa para gestionar las librerías sea usado para construir el proyecto.

Una de las cosas que más me gusta de maven es el famoso “maven war overlay”. Básicamente es un mecanismo que permite construir proyectos y despliegues de una manera similar al paradigma de la herencia. En el proyecto en el que estoy trabajando actualmente usamos este mecanismo para modificar por partes los distintos aspectos que deseamos personalizar, como el aspecto, algunas extensiones o los parametros necesarios para ejecutarlo en producción o pre-poducción.

Se puede usar maven desde eclipse via un plugin. Esto es realmente deseable para gestionar el pom.xml, ya que cuenta con un editor hecho para humanos en lugar de tener que trabajar con un larguísimo fichero xml. Me parece particularmente útil el mecanismo para añadir dependencias ya que se encarga de buscar el groupid por ti lo cual es altamente cómodo.

Advertisements

This blog becomes mainly spanish

January 17, 2012

When I started this blog years ago, I already had a spanish one, so my intention was to post just a few articles here. Now I let the other blog so I need a place to write in spanish too. I will follow the approach of Carlos Ble who write in his blog some articles in english and some other in spanish. I apologize for the inconvenience if you are a reader and just understand english.