SlideShare una empresa de Scribd logo
1 de 28
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

Similar a [Apache Barcamp 2011] Introducción a Maven

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

Programación del curso inf212 - POO
Programación del curso inf212 - POOProgramación del curso inf212 - POO
Programación del curso inf212 - POO
 
S1 ds2
S1 ds2S1 ds2
S1 ds2
 
Utp sirn_sl6 la rna perceptron multicapa
 Utp sirn_sl6 la rna perceptron multicapa Utp sirn_sl6 la rna perceptron multicapa
Utp sirn_sl6 la rna perceptron multicapa
 
Python con baterias incluídas
Python con baterias incluídasPython con baterias incluídas
Python con baterias incluídas
 
Fundamentos de Java
Fundamentos de Java Fundamentos de Java
Fundamentos de Java
 
Syllabus fundamentals I
Syllabus fundamentals ISyllabus fundamentals I
Syllabus fundamentals I
 
S1-DS2.pptx
S1-DS2.pptxS1-DS2.pptx
S1-DS2.pptx
 
J hipster
J hipsterJ hipster
J hipster
 
Presentación evernote
Presentación evernotePresentación evernote
Presentación evernote
 
Curso online Javascript
Curso online JavascriptCurso online Javascript
Curso online Javascript
 
Curso online-cnet-lw
Curso online-cnet-lwCurso online-cnet-lw
Curso online-cnet-lw
 
Taller de kumbiaPHP Mexico ITSJR
Taller de kumbiaPHP Mexico ITSJRTaller de kumbiaPHP Mexico ITSJR
Taller de kumbiaPHP Mexico ITSJR
 
Virtualenv
VirtualenvVirtualenv
Virtualenv
 
Virtualenv
VirtualenvVirtualenv
Virtualenv
 
Manual de PHP Basico
Manual de PHP BasicoManual de PHP Basico
Manual de PHP Basico
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 
LibFree or Die Hard
LibFree or Die HardLibFree or Die Hard
LibFree or Die Hard
 
Java desde cero maven
Java desde cero mavenJava desde cero maven
Java desde cero maven
 
Curso Java con Rational para WebSphere
Curso Java con Rational para WebSphereCurso Java con Rational para WebSphere
Curso Java con Rational para WebSphere
 
Spipedu - 10 Febrero
Spipedu - 10 FebreroSpipedu - 10 Febrero
Spipedu - 10 Febrero
 

Último

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 

Último (20)

Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 

[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