Apache Maven                           Apache Barcamp Spain 2011          www.emergya.es                                  ...
Í ndice      I.Introducció n        I.¿Qué es?        II.¿Para qué sirve?      II. Conceptos bá     sicos        I.El cicl...
Í ndice      I.Introducció n        I.¿Qué es?        II.¿Para qué sirve?      II. Conceptos bá sicos      III. Utilizando...
Introducció n                                       ConceptosÍ NDICE1. Introducció n         Apache Maven : Herramienta de...
Introducció n                                Gestió n de proyectos JavaÍ NDICE1. Introducció n                         ➢  ...
Introducció n                            Carácterísticas de Apache MavenÍ NDICE                 ➢   Gestió n de dependenci...
Introducció n                               Síndrome de la hoja en blancoÍ NDICE1. Introducció n        ¿Por dó nde empiez...
Í ndice      I.Introducció n      II. Conceptos bá     sicos        I.El ciclo de vida        II.Project Object Model (pom...
Conceptos básicos                                      El ciclo de vidaÍ NDICE                 ➢   Diferente en cada empaq...
Conceptos básicos                              Project Object Model (pom.xml)Í NDICE 1. Introducció n 2. Conceptos        ...
Conceptos básicos: pom.xml                                Project InformationÍ NDICE 1. Introducció n 2. Conceptos    bási...
Conceptos básicos: pom.xml                                        BuildsÍ NDICE 1. Introducció n 2. Conceptos    básicos  ...
Conceptos básicos: pom.xml                                       ProfilesÍ NDICE 1. Introducció n 2. Conceptos    básicos ...
Conceptos básicos: pom.xml                                       PluginsÍ NDICE 1. Introducció n 2. Conceptos    básicos  ...
Conceptos básicos: pom.xml                                    RepositoriosÍ NDICE 1. Introducció n 2. Conceptos    básicos...
Conceptos básicos                                Estructura del proyectoÍ NDICE 1. Introducció n         Con maven   Sin m...
Í ndice      I.Introducció n      II. Conceptos bá sicos      III. Utilizando Maven        I.Gestió n de dependencias     ...
Utilizando Maven                                     Sin MavenÍ NDICE 1. Introducció n 2. Conceptos bá  sicos 3. Utilizand...
Utilizando Maven                                     Con MavenÍ NDICE 1. Introducció n 2. Conceptos bá  sicos 3. Utilizand...
Utilizando Maven                                           Sin MavenÍ NDICE                   ➢   Para funcionalidades 1. ...
Utilizando Maven                                           Con MavenÍ NDICE                   ➢   Para funcionalidades 1. ...
Utilizando Maven                                  Empaquetado y publicació nÍ NDICE 1. Introducció n                      ...
Utilizando Maven                               Despliegues y parametrizació nÍ NDICE 1. Introducció n         ➢   Configur...
Utilizando Maven                                        Pruebas unitariasÍ NDICE 1. Introducció n                         ...
Utilizando Maven                                          Plugins para MavenÍ NDICE 1. Introducció n                      ...
Utilidades                                     Plugins para EclipseÍ NDICE 1. Introducció n 2. Conceptos bá  sicos        ...
Utilizando Maven                                     Integració n continuaÍ NDICE 1. Introducció n                        ...
Gracias por su atenció n                               ¿Preguntas?                                        Más informació n...
Upcoming SlideShare
Loading in …5
×

[Apache Barcamp 2011] Introducción a Maven

400 views

Published on

Presentación de la charla de introducción a Maven de la Apache Barcamp 2012.

https://github.com/alediator/barcamp-maven

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
400
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[Apache Barcamp 2011] Introducción a Maven

  1. 1. Apache Maven Apache Barcamp Spain 2011 www.emergya.es Sevilla, Octubre 2011 En Twitter #charlamaven @ barcampesActivos @ alediaztorresv1.0.1
  2. 2. Í ndice I.Introducció n I.¿Qué es? II.¿Para qué sirve? II. Conceptos bá sicos I.El ciclo de vida II.Project Object Model (pom.xml) III. Utilizando Maven I.Gestió n de dependencias II.Arquetipos III.Empaquetado y publicació n IV.Despliegues y parametrizació n V.UtilidadesApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 2
  3. 3. Í ndice I.Introducció n I.¿Qué es? II.¿Para qué sirve? II. Conceptos bá sicos III. Utilizando MavenApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 3
  4. 4. Introducció n ConceptosÍ NDICE1. Introducció n Apache Maven : Herramienta de software 1.¿Qué es? 2. ¿Para qué sirve? de gestió n de proyectos Java.2. Conceptos bá sicos3. Utilizando Maven Pom ( Project Object Model): Fichero que describe la informació n y configuració n del proyecto Maven. Artefacto : Proyecto Java definido a travé s de un pom.xml e identificado por artifactId, groupId y version Repositorio : Conjunto de artefactos Arquetipo : Plantilla para la creació n de un proyecto Maven.Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 4
  5. 5. Introducció n Gestió n de proyectos JavaÍ NDICE1. Introducció n ➢ Ciclo de vida 1.¿Qué es? 2. ¿Para qué sirve? ➢ Dependencias y reutilizació n2. Conceptos bá sicos3. Utilizando Maven ➢ Perfiles ➢ Uso de IDEs ➢ Automatizació n de tareasApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 5
  6. 6. Introducció n Carácterísticas de Apache MavenÍ NDICE ➢ Gestió n de dependencias1. Introducció n 1. ¿Qué es? 2.¿Para qué ➢ Arquetipos sirve?2. Conceptos bá sicos ➢ Empaquetado y reutilizació n3. Utilizando Maven ➢ Despliegues y parametrizació n ➢ UtilidadesApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 6
  7. 7. Introducció n Síndrome de la hoja en blancoÍ NDICE1. Introducció n ¿Por dó nde empiezo? 1. ¿Qué es? 2.¿Para qué ➢ ¿Qué quiero conseguir? sirve?2. Conceptos bá sicos ➢ ¿Con qué herramientas?3. Utilizando Maven ➢ ¿Qué partes quiero poder reutilizar? Puntos de partida ➢ San Google ➢ Repositorios de archetipos ➢ Modularizació nApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 7
  8. 8. Í ndice I.Introducció n II. Conceptos bá sicos I.El ciclo de vida II.Project Object Model (pom.xml) III. Utilizando MavenApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 8
  9. 9. Conceptos básicos El ciclo de vidaÍ NDICE ➢ Diferente en cada empaquetado 1. Introducció n 2. Conceptos básicos ➢ Extensible a travé s de plugins 1.El ciclo de vida ➢ Inclusió n de fases anteriores 2. Project Object Model (pom.xml) 3. Estructura ➢ Ejecució n en entornos multi-3. Utilizando Maven mó dulo Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 9
  10. 10. Conceptos básicos Project Object Model (pom.xml)Í NDICE 1. Introducció n 2. Conceptos ➢ Project information básicos 1. El ciclo de vida ➢ Builds 2. Project Object Model (pom.xml) ➢ Profiles 3. Estructura3. Utilizando Maven ➢ Modules ➢ Plugins ➢ Repositorios Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 10
  11. 11. Conceptos básicos: pom.xml Project InformationÍ NDICE 1. Introducció n 2. Conceptos básicos 1. El ciclo de vida 2. Project Object Model (pom.xml) 3. Estructura3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 11
  12. 12. Conceptos básicos: pom.xml BuildsÍ NDICE 1. Introducció n 2. Conceptos básicos 1. El ciclo de vida 2. Project Object Model (pom.xml) 3. Estructura3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 12
  13. 13. Conceptos básicos: pom.xml ProfilesÍ NDICE 1. Introducció n 2. Conceptos básicos 1. El ciclo de vida 2. Project Object Model (pom.xml) 3. Estructura3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 13
  14. 14. Conceptos básicos: pom.xml PluginsÍ NDICE 1. Introducció n 2. Conceptos básicos 1. El ciclo de vida 2. Project Object Model (pom.xml) 3. Estructura3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 14
  15. 15. Conceptos básicos: pom.xml RepositoriosÍ NDICE 1. Introducció n 2. Conceptos básicos 1. El ciclo de vida 2. Project Object Model (pom.xml) 3. Estructura3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 15
  16. 16. Conceptos básicos Estructura del proyectoÍ NDICE 1. Introducció n Con maven Sin maven 2. Conceptos básicos 1. El ciclo de vida 2. Project Object Model (pom.xml) 3. Estructura3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 16
  17. 17. Í ndice I.Introducció n II. Conceptos bá sicos III. Utilizando Maven I.Gestió n de dependencias II.Arquetipos III.Empaquetado y publicació n IV.Despliegues y parametrizació n V.UtilidadesApache Barcamp Spain | #charlamaven @barcampes @alediaztorres 17
  18. 18. Utilizando Maven Sin MavenÍ NDICE 1. Introducció n 2. Conceptos bá sicos 3. Utilizando Maven 1. Gestió n de dependencias 2. Reutilizació n 3. Empaquetado y publicació n 4. Despliegues y parametrizació n 5. Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 18
  19. 19. Utilizando Maven Con MavenÍ NDICE 1. Introducció n 2. Conceptos bá sicos 3. Utilizando Maven 1. Gestió n de dependencias 2. Reutilizació n 3. Empaquetado y publicació n 4. Despliegues y parametrizació n 5. Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 19
  20. 20. Utilizando Maven Sin MavenÍ NDICE ➢ Para funcionalidades 1. Introducció n ➢ A partir del có digo fuente 2. Conceptos bá sicos 3. Utilizando Maven ➢ Abuso del copy-paste 1. Gestió n de dependencias ➢ Poco eficiente en entornos de desarrollo 2. Reutilizació n ➢ Uso de librerías 3. Empaquetado y publicació n 4. Despliegues y parametrizació n ➢ Para proyectos completos 5. Utilidades ➢ Copia manual de la estructura y de las librerías ➢ Dificultad para la actualizació n ➢ Las librerías no cambian de proyecto a proyecto ➢ Soluciones intermedias ➢ Scripts de sincronizació n ➢ Uso de tareas Ant Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 20
  21. 21. Utilizando Maven Con MavenÍ NDICE ➢ Para funcionalidades 1. Introducció n ➢ Inclusió n de dependencias 2. Conceptos bá sicos 3. Utilizando Maven ➢ Versiones estables o externas 1. Gestió n de ➢ Versiones intermedias propias dependencias 2. Reutilizació n 3. Empaquetado y publicació n ➢ Para proyectos completos 4. Despliegues y ➢ Sin arquetipos parametrizació n 5. Utilidades ➢ Copia manual del pom ➢ Copia manual del có digo fuente ➢ Con arquetipos ➢ Definen un pom de partida ➢ Incluyen có digo fuente de partida Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 21
  22. 22. Utilizando Maven Empaquetado y publicació nÍ NDICE 1. Introducció n Repositorios espejo 2. Conceptos bá sicos 3. Utilizando Maven ➢ Centralizació n de recursos 1. Gestió n de dependencias 2. Reutilizació n ➢ Snapshots 3. Empaquetado y publicació n ➢ Repositorios 4. Despliegues y parametrizació n 5. Utilidades Deploy ➢ Usuario ➢ Distribution-management ➢ No me actualiza Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 22
  23. 23. Utilizando Maven Despliegues y parametrizació nÍ NDICE 1. Introducció n ➢ Configuració n de perfiles de Uso de diferentes determinadas 2. Conceptos bá sicos 3. Utilizando Maven tareas para despliegue perfiles específicos 1. Gestió n de dependencias 2. Reutilizació n 3. Empaquetado y publicació n 4. Despliegues y parametrizació n 5. Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 23
  24. 24. Utilizando Maven Pruebas unitariasÍ NDICE 1. Introducció n ➢ Test Junit 2. Conceptos bá sicos 3. Utilizando Maven ➢ Ejecució n 1. Gestió n de ➢ mvn test dependencias 2. Reutilizació n ➢ Parametrizació n 3. Empaquetado y publicació n ➢ Resultados 4. Despliegues y parametrizació n 5. Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 24
  25. 25. Utilizando Maven Plugins para MavenÍ NDICE 1. Introducció n ➢ Core 2. Conceptos bá sicos 3. Utilizando Maven ➢ Surefire 1. Gestió n de dependencias ➢ Site 2. Reutilizació n 3. Empaquetado y ➢ Packaging publicació n 4. Despliegues y parametrizació n ➢ Reporting 5. Utilidades ➢ Javadoc ➢ Surefire-report ➢ Tools ➢ Arquetype ➢ Otros proveedores ➢ Jetty Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 25
  26. 26. Utilidades Plugins para EclipseÍ NDICE 1. Introducció n 2. Conceptos bá sicos IAM (q4e) 3. Utilizando Maven 1. Gestió n de dependencias 2. Reutilizació n Pros 3. Empaquetado y Pros publicació n ➢ Es el más extendido ➢ Es más vistoso 4. Despliegues y ➢ Más robusto ➢ Ofrece más funcionalidades parametrizació n 5. Utilidades Contras Contras ➢ Algo soso ➢ Más inestable ➢ Se echan en falta algunas funcionalidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 26
  27. 27. Utilizando Maven Integració n continuaÍ NDICE 1. Introducció n ➢ Jenkins 2. Conceptos bá sicos 3. Utilizando Maven ➢ Monitoriza los repositorios 1. Gestió n de dependencias ➢ Compila y despliega los 2. Reutilizació n 3. Empaquetado y artefactos publicació n 4. Despliegues y ➢ Pruebas unitarias parametrizació n 5. Utilidades ➢ Las ejecuta ➢ Publica los resultados Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 27
  28. 28. Gracias por su atenció n ¿Preguntas? Más informació n: https://github.com/alediator/barcamp-maven Alejandro Díaz Torres <adiaz@ emergya.com>Avenida de la Innovació n · 3 · C.P. 41020 · SEVILLA · Tel. 954 51 75 77 · 951 21 04 00 · Fax. 954 51 64 73 · www.emergya.es

×