Publicidad
Publicidad

RSS Maven

Muchas personas cuando comienzan a trabajar en el mundo Java aprenden a utilizar los frameworks más habituales:Spring,Hibernate,Apache CFX etc. Una vez han aprendido a utilizar los frameworks van abordando proyectos de mayor complejidad. Mas pronto que tarde terminan encontrándose con Maven. Maven ??? En muchas ocasiones me he encontrado con que es difícil hacer llegar a los desarrolladores la necesidad de usar una herramienta como Maven. Incluso a veces es difícil de explicar para que sirve exactamente. Vamos a ver una introducción. Normalmente cuando nosotros trabajamos con Java/JavaEE el uso de librerías es algo común como en cualquier otro lenguaje de programación. Librerías y limitaciones El concepto de librería es un concepto que a veces es limitado. Por ejemplo nosotros podemos querer utilizar la librería A en nuestro proyecto. Sin embargo no nos valdrá con simplemente querer utilizar la librería sino que ademas necesitaremos saber que versión exacta de ella necesitamos. ¿Es esto suficiente?. Lamentablemente no lo es, una librería puede depender de otras librerías para funcionar de forma correcta. Así pues necesitamos más información para gestionarlo todo de forma correcta. Maven y Artefactos Maven solventa esta problema a traves del concepto de Artefacto. Un Artefacto puede verse como una librería con esteroides (aunque agrupa mas conceptos). Contiene las clases propias de la librería pero ademas incluye toda la información necesaria para su correcta gestión (grupo, versión, dependencias etc). Artefactos y POM Para definir un Artefacto necesitamos crear un fichero POM.xml (Proyect Object Model) que es el encargado de almacenar toda la información que hemos comentado anteriormente: 4.0.0 com.genbetadev.proyecto1 proyecto1 0.0.1-SNAPSHOT jar log4j log4j 1.2.17 La estructura del fichero puede llegar a ser muy compleja y puede llegar a depender de otros POM. En este ejemplo estamos viendo el fichero más sencillo posible. En el se define el nombre del Artefacto (artifactID) el tipo de empaquetado (jar) y también las dependencias que tiene (log4j). De esta manera nuestra librería queda definida de una forma mucho más clara. Maven Repositorio y Artefactos Una vez definidos correctamente todos los Artefactos que necesitamos, Maven nos provee de un Repositorio donde alojar, mantener y distribuir estos. Permitiéndonos una gestión correcta de nuestra librerías, proyectos y dependencias. El uso de Maven es a día de hoy una necesitad en cualquier proyecto Java/Java EE de cierta entidad. En GenBetaDev:Introducción a Maven

¿Por qué deberías pensar en Gradle 3.0 como sustituto de Maven?

16 Comentarios
¿Por qué deberías pensar en Gradle 3.0 como sustituto de Maven?

Hace unas semanas el equipo de Gradle presentó la esperada versión 3.0 de esta herramienta open source de construcción de software. Aunque en el mundo Java el lider lleva siendo durante mucho tiempo Maven ya es hora de dejar atrás los interminables archivos XML de configuración y dar el paso algo más moderno y potente como Gradle.

En este artículo veremos las principales novedades de la versión 3.0 que puede que os den el empujón que falta para que migreis de Maven a Gradle.

Leer más »

SDKMAN!: Un gestor de SDKs para dominarlos a todos

6 Comentarios
SDKMAN!: Un gestor de SDKs para dominarlos a todos

¿Trabajas en entornos de la JVM y a menudo tienes que cambiar de versión de los distintos SDKs? ¿Programas en Ceylon, Groovy, Kotlin o Scala?, ¿generas tus builds con Ant, Maven, Gradle o SBT?, ¿eres de Spring Boot, Grails o Vert.x? Entonces SDKMAN! es para ti.

SDKMAN! es una herramienta para manejar múltiples versiones de distintos SDKs en sistemas Unix (aunque también existe una versión alternativa para Windows). Proporciona una interfaz de línea de comandos y un API para instalar, cambiar, eliminar y mostrar la lista de candidatos. Anteriormente se conocía como GVM: Groovy enVironment Manager porque sólo se centraba en herramientas relacionadas con el ecosistema Groovy pero desde hace más de un año sirve para instalar más herramientas, SDKs y lenguajes de la JVM.

En este artículo veremos cómo instalarlo, utilizarlo y sacarle partido y además hablaremos con Marco Vermeulen, su creador, que amablemente nos ha respondido unas preguntas sobre SDKMAN!

Leer más »
Publicidad

Introducción a Maven II: Project Object Model

1 Comentario
Introducción a Maven II: Project Object Model

addEventListener('load', function (event) { prettyPrint() }, false);

Seguimos con la serie de introducción a Maven. En la primera parte, veíamos lo que eran los grupos y artefactos, el alcance (scope) de las dependencias, lo que era un Goal, lo que era un arquetipo (archetype), como crear, compilar e instalar un proyecto y finalmente, como integrarlo con el IDE. En este capítulo veremos como configurar nuestro proyecto mediante el pom.xml.

Todo proyecto Maven tiene al menos un pom.xml que describe el proyecto, sus dependencias, los plugins que utiliza, y otros datos, como la conexión con el sistema de control de versiones, o definición de otros repositorios Maven que usemos en nuestro proyecto para descargar dependencias entre otras cosas.

Leer más »

Introducción a Maven

9 Comentarios
Introducción a Maven

addEventListener('load', function (event) { prettyPrint() }, false);

Maven es una herramienta de gestión de proyectos. Se basa en un fichero central, pom.xml, donde se define todo lo que necesita tu proyecto. Maven maneja las dependencias del proyecto, compila, empaqueta y ejecuta los test. Mediante plugins, permite hacer mucho mas, como por ejemplo generar los mapas de Hibernate a partir de una base de datos, desplegar la aplicación, etc…

Lo mas útil de Maven en mi opinión, es el manejo de las dependencias. Aun recuerdo cuando empezaba a trabajar en Java. Tenías que ir bajándote manualmente los jar que necesitabas en tu proyecto y copiarlos manualmente en el classpath. Era muy tedioso. Con Maven esto se acabó. Solo necesitas definir en tu pom.xml las dependencias que necesitas y maven las descarga y las añade al classpath.

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos