Upload
carlos-campos-nieto
View
216
Download
0
Embed Size (px)
Citation preview
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 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.
Maven Proceso
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.”
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
Ciclo de vida
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.
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