8
Maven

Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Embed Size (px)

Citation preview

Page 1: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Maven

Page 2: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Introduccion

Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar de gestión y descripción de proyectos. Maven da soluciones a tareas que abarcan desde la compilación hasta la distribución, despliegue y documentación de los proyectos. Se podría describir como “un sistema de estándares, un repositorio, y un software usado para manejar y describir proyectos. Define un ciclo de vida estándar para la construcción, prueba, y despliegue de componentes del proyecto.

Page 3: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Maven Proceso

Page 4: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Estructura de directorios

Proporciona un marco que permite la reutilización fácil de la lógica común de la estructura para todo los proyectos que siguen los estándares Maven.”

Page 5: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Estructura de directoriossrc/main/java: Java source codesrc/main/resources: Otros recursos que necesita la

applicacion.src/main/filters: Resource filters.src/main/config: Archivos de Configuracionsrc/main/webapp: Web application directorio para a

proyecto WARsrc/test/java: Unit testssrc/test/resources: Recursos que son utilizados por los unit

test pero no son deployed src/test/filters: Resources filters usados por los unit test.src/site: Archivos usados por un projecto Website the maven

Page 6: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Ciclo de vida

Page 7: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Ciclo de vidavalidate: esta es la fase en la que valida que el proyecto este correcto y tenga toda la información necesaria para su construcción.generate-sources: genera codigo fuente para incluirla en la compilación.process-sources: Procesa el código fuente. Por ejemplo para el filtrado de valores.generate-resources: Genera los recuersos para inclusión en el paquete.process-resources: Copioa y procesa los recursos dentro de la carpeta de destino, preparardos para empaquetarse.compile: es la fase en la que se compila el código fuente del proyecto.process-classes: Post procesa los ficheros generrados de la compilación para por ejemplo hacer optimización de los bytecode en

clases Java.generate-test-sources: genera código fuente para la inclusión en la compilación.process-test-sources: Procesa el código fuente de los test por ejemplo para el filtrado de valores.generate-test-resources: Genera los recursos para pruebas.process-test-resources: Copia y procesa los recursos dentro de la carpeta de destino.test-compile: Compila el código fuente de los test.test: fase en la que se ejecutan los test de la aplicación. Estos test no necesitan que la aplicación este empaquetada ni desplegada.package: es la fase en la que se toman las clases compiladas y recursos y se crea un paquete con el proyecto (jar, war, ear).integration-test: fase en la que se ejecutan los test de integración. Aquí se procesa y despliega el paquete si es necesario para que

corran * * las pruebas de integración.verify: fase en la que se realiza algún tipo de chequeo para comprobar si el paquete cumple con las normas de calidad.install: fase en la que se instala el paquete en el repositorio local para ser usado como dependencia por otros proyectos locales.deploy: en esta fase se copia el paquete a un repositorio remoto para ser compartido con otros usuario y proyectos.

Page 8: Maven. Introduccion Maven es un “Project Management Framework”, esto es, un framework de gestión de proyectos de software, que proporciona un modelo estándar

Creacion de un proyecto MavenLos proyectos en Maven son creados con una línea de comandos del siguiente tipo:

mvn archetype:create -DgroupId="com.some.company" -DartifactId="some-project" -Dversion="0.0.1“

Maven puede crear un descriptor de proyecto para Eclipse con el siguiente comando:

mvn eclipse:eclipse