Maven (en Ubuntu)

Muchas veces he llegado a escuchar de esta herramienta Apache Maven, pero nunca le di importancia porque a veces no cuento con el tiempo para investigar como yo quisiera.

Quiero imaginar que como a mi y como a muchas de las personas que se dedican al desarrollo de sistemas, utilízan difertentes tecnologías en sus proyectos, pero siempre me he preguntado si las he utilizado de forma correcta, y  a la fecha creo yo que no hay nada que te diga “este el camino adecuado para codificar y utilizar las herramientas”, más bien te dicen las formas en las que puede utilizarse y aunque hay documentación y ejemplos que uno puede encontrar en la red, yo pienso que cada quien le da la interpretación que mejor le convenga y lo adapta de acuerdo a sus necesidades.

Pero así como hay diferentes necesidades también creo que es necesario que se establezcan estándares de programación y que se fomenten mucho más las buenas practicas para simplificar los proyectos. Y maven es precisamente una de esas herramientas que hacian falta.

¿Que es Maven?

Es una herramienta para la admininisitración de proyectos de software, que principalmente se encarga de lo siguiente:

  • Crea una estructura estándar para los proyectos de software (Java).
  • Administra los recursos y las dependencias de la aplicación de forma automática.
  • Promueve una fácil integración y estabilidad en los equipos de desarrollo.

Tal vez los puntos no te dicen mucho hasta que lo vez en acción, pero a muchas personas como yo, cuando comenzamos a desarrollar sin conocer este tipo de herramientas nos importa un cacahute lo que hacen, y tiempo después cuando nos familiarizamos más con los proyectos descubrimos el verdadero ALCANCE de estas magnificas herramientas. Y ahora lo puedo decir honestamente, que mis proximos proyectos serán administrados con maven.

¿Como funciona?

Muy simple, maven incluye un Script que te permite crear una estrutcura o el esqueleto de un proyecto de software, para esto ofrece una serie de plantillas precargardas con las multiples combinaciones de frameworks, son al rededor de 303 plantillas, que van desde una simple aplicación java o un proyecto web, con las diferentes combinaciones de frameworks que puedas imaginar.

Además creará en tu maquina un repositorio local, que es el lugar donde se van a almacenar los jars para tus proyectos y lo mantendra syncronizado con el repositorio en linea de maven (http://repo1.maven.org/maven2/), es decir, te descargará de internet los elementos que tu necesites, pero también puedes agregar otras librerias sin necesidad de estar conectado.

Lo primero que has de pensar es ” ¬¬ y cual es la diferencia?? porque yo le pongo mis jars a mano” bueno, supogamos que quieres agregar una libreria a tu proyecto (un jar), tendrias que realizar lo siguiente:

En el modo tradicional:

  1. Abres la página del framework.
  2. Descargas la librería, con su código fuente y su javadoc.
  3. Agregas el jar en el classpath de tu proyecto.
  4. Agregas el source code y el java doc a tu IDE ( si es que lo haces).
  5. Y si en un futuro la librería requiere alguna modificación TU lo tienes cambiar.

En el modo Maven:

  1. Agregas la dependencia al pom.xml
  2. Maven descargará el jar, el source code y el javadoc y lo agregará automaticamente.
  3. Maven se encargará de administrar los cambios si tu librería requiere de algúna modificación.

¿Vez la diferencia? , maven realiza el trabajo por ti.

En fin, todo es a través de un repositorio de librerias, asi de sencillo, maven tiene en internet un repositorio donde se descargan de forma automática las librerias para tu proyecto, pero también te da la opción de agregar otros repositorios. “¬¬ y eso que significa??” …. que todos los que esten involucrados en el proyecto pueden utilizar el mismo repositorio y eso garantiza que librerias serán las mismas para todos, y además si lo desean las tendran actualizadas a sus versiones más recientes… eso mis estimados amigos se traduce en menos problemas al crear las versiones de tu aplicación.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s