Apache Maven
                           Apache Barcamp Spain 2011
          www.emergya.es




                                        Sevilla, Octubre 2011




                                             En Twitter
                                          #charlamaven
                                           @ barcampes
Activos                                  @ alediaztorres
v1.0.1
Í 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.Utilidades



Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres   2
Í ndice


      I.Introducció n
        I.¿Qué es?
        II.¿Para qué sirve?
      II. Conceptos bá sicos
      III. Utilizando Maven




Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres   3
Introducció n

                                       Conceptos
Í NDICE
1. Introducció n         Apache Maven : Herramienta de software
  1.¿Qué es?
   2. ¿Para qué sirve?   de gestió n de proyectos Java.
2. Conceptos bá sicos
3. 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
Introducció n

                                Gestió n de proyectos Java
Í NDICE
1. Introducció n
                         ➢   Ciclo de vida
  1.¿Qué es?
   2. ¿Para qué sirve?
                         ➢   Dependencias y reutilizació n
2. Conceptos bá sicos
3. Utilizando Maven      ➢   Perfiles
                         ➢   Uso de IDEs
                         ➢   Automatizació n de tareas




Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                   5
Introducció n

                            Carácterísticas de Apache Maven
Í NDICE                 ➢   Gestió n de dependencias
1. Introducció n
   1. ¿Qué es?
  2.¿Para qué           ➢   Arquetipos
    sirve?
2. Conceptos bá sicos   ➢   Empaquetado y reutilizació n
3. Utilizando Maven
                        ➢   Despliegues y parametrizació n
                        ➢   Utilidades




Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                   6
Introducció n

                               Síndrome de la hoja en blanco
Í NDICE
1. 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ó n




Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                             7
Í ndice


      I.Introducció n
      II. Conceptos bá     sicos
        I.El ciclo de vida
        II.Project Object Model (pom.xml)
      III. Utilizando Maven




Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres   8
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
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. Estructura
3. Utilizando Maven       ➢   Modules
                          ➢   Plugins
                          ➢   Repositorios




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                       10
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. Estructura
3. Utilizando Maven




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                         11
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. Estructura
3. Utilizando Maven




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                         12
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. Estructura
3. Utilizando Maven




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                         13
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. Estructura
3. Utilizando Maven




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                         14
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. Estructura
3. Utilizando Maven




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                         15
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. Estructura
3. Utilizando Maven




 Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres                       16
Í 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.Utilidades




Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres   17
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
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
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
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
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
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
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
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
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
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
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

Más contenido relacionado

PDF
Entornos de desarrollo para symfony2 con vagrant y puppet
PPTX
Manual apache cassandra y comandos en la shell
PPTX
Maven (EN ESPANOL)
ODP
Gestionando servidores con Puppet
PDF
Curso online-java-j2se-lw
PDF
Utp ia sl6 la rna perceptron multicapa
PPT
Tema 1-origen-java1
ZIP
Manual de-java
Entornos de desarrollo para symfony2 con vagrant y puppet
Manual apache cassandra y comandos en la shell
Maven (EN ESPANOL)
Gestionando servidores con Puppet
Curso online-java-j2se-lw
Utp ia sl6 la rna perceptron multicapa
Tema 1-origen-java1
Manual de-java

Similar a [Apache Barcamp 2011] Introducción a Maven (20)

PPT
Programación del curso inf212 - POO
PDF
Utp sirn_sl6 la rna perceptron multicapa
PDF
Python con baterias incluídas
PPTX
Fundamentos de Java
DOCX
Syllabus fundamentals I
PPTX
Presentación evernote
PDF
Curso online Javascript
PDF
Curso online-cnet-lw
PPTX
Taller de kumbiaPHP Mexico ITSJR
PDF
Virtualenv
PDF
Virtualenv
PDF
Manual de PHP Basico
PPTX
Caracteristicas de C Sharp
PDF
LibFree or Die Hard
PDF
Java desde cero maven
PDF
Curso Java con Rational para WebSphere
PDF
Spipedu - 10 Febrero
Programación del curso inf212 - POO
Utp sirn_sl6 la rna perceptron multicapa
Python con baterias incluídas
Fundamentos de Java
Syllabus fundamentals I
Presentación evernote
Curso online Javascript
Curso online-cnet-lw
Taller de kumbiaPHP Mexico ITSJR
Virtualenv
Virtualenv
Manual de PHP Basico
Caracteristicas de C Sharp
LibFree or Die Hard
Java desde cero maven
Curso Java con Rational para WebSphere
Spipedu - 10 Febrero
Publicidad

Último (20)

PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
PDF
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PPTX
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
PDF
Estrategia de apoyo valentina lopez/ 10-3
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
PPTX
El uso de las TIC en la vida cotidiana..
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PPTX
Control de calidad en productos de frutas
DOCX
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
PDF
Distribucion de frecuencia exel (1).pdf
PDF
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
PDF
Taller tecnológico Michelle lobo Velasquez
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
ccna: redes de nat ipv4 stharlling cande
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
Curso de generación de energía mediante sistemas solares
PPTX
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Sistema de Gestión Integral TCA Ingenieros.pptx
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
Teoría de estadística descriptiva y aplicaciones .pdf
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
Estrategia de apoyo valentina lopez/ 10-3
Documental Beyond the Code (Dossier Presentación - 2.0)
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
El uso de las TIC en la vida cotidiana..
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
Control de calidad en productos de frutas
TRABAJO GRUPAL (5) (1).docxjesjssjsjjskss
Distribucion de frecuencia exel (1).pdf
Guía_de_implementación_Marco_de_gobierno_y_gestión_de_TI_Universidades.pdf
Taller tecnológico Michelle lobo Velasquez
Mecanismos-de-Propagacion de ondas electromagneticas
MANUAL de recursos humanos para ODOO.pdf
ccna: redes de nat ipv4 stharlling cande
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Curso de generación de energía mediante sistemas solares
CLAASIFICACIÓN DE LOS ROBOTS POR UTILIDAD
Publicidad

[Apache Barcamp 2011] Introducción a Maven

  • 1. Apache Maven Apache Barcamp Spain 2011 www.emergya.es Sevilla, Octubre 2011 En Twitter #charlamaven @ barcampes Activos @ alediaztorres v1.0.1
  • 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.Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 2
  • 3. Í ndice I.Introducció n I.¿Qué es? II.¿Para qué sirve? II. Conceptos bá sicos III. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 3
  • 4. Introducció n Conceptos Í NDICE 1. Introducció n Apache Maven : Herramienta de software 1.¿Qué es? 2. ¿Para qué sirve? de gestió n de proyectos Java. 2. Conceptos bá sicos 3. 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. Introducció n Gestió n de proyectos Java Í NDICE 1. Introducció n ➢ Ciclo de vida 1.¿Qué es? 2. ¿Para qué sirve? ➢ Dependencias y reutilizació n 2. Conceptos bá sicos 3. Utilizando Maven ➢ Perfiles ➢ Uso de IDEs ➢ Automatizació n de tareas Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 5
  • 6. Introducció n Carácterísticas de Apache Maven Í NDICE ➢ Gestió n de dependencias 1. Introducció n 1. ¿Qué es? 2.¿Para qué ➢ Arquetipos sirve? 2. Conceptos bá sicos ➢ Empaquetado y reutilizació n 3. Utilizando Maven ➢ Despliegues y parametrizació n ➢ Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 6
  • 7. Introducció n Síndrome de la hoja en blanco Í NDICE 1. 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ó n Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 7
  • 8. Í ndice I.Introducció n II. Conceptos bá sicos I.El ciclo de vida II.Project Object Model (pom.xml) III. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 8
  • 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. 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. Estructura 3. Utilizando Maven ➢ Modules ➢ Plugins ➢ Repositorios Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 10
  • 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. Estructura 3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 11
  • 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. Estructura 3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 12
  • 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. Estructura 3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 13
  • 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. Estructura 3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 14
  • 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. Estructura 3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 15
  • 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. Estructura 3. Utilizando Maven Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 16
  • 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.Utilidades Apache Barcamp Spain | #charlamaven @barcampes @alediaztorres 17
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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