© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0...
-
Upload
doncia-valencia -
Category
Documents
-
view
20 -
download
4
Transcript of © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0...
![Page 1: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/1.jpg)
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Introducción a Maven 2.0
TELEFÓNICA I+DCarlos Gómez Fecha: 25/03/2009
![Page 2: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/2.jpg)
2TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 3: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/3.jpg)
3TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 4: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/4.jpg)
4TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
¿Qué es maven?
Herramienta para gestión y construcción proyectos java
Lo que teníamos hasta ahora era:
— Ant
— Makefiles
— IDE
— Shell/Perl Scripts
01
![Page 5: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/5.jpg)
5TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Aplicar patrones para la construcción de proyectos
Builds
Documentación
Informes
Dependencias
Integración con repositorios
Generación de releases
Distribución
Web del proyecto
01
![Page 6: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/6.jpg)
6TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
¿Qué nos proporciona?
Un modelo estándar para gestionar y describir proyectos
— Encapsula mejores prácticas
— Bajo coste de configuración y mantenimiento
— Fácil integración de nuevas herramientas
Tras la instalación, dispondremos de funcionalidades que nos facilitarán tareas a distintos niveles
— Inicialización de proyectos, integración con IDEs, configuración de proyectos (JDKs, dependencias, ...)
Procedimientos por defecto para la realización de las tareas base
Compilación, pruebas unitarias, empaquetado,...
— Simplifica y unifica los procesos de distribución, mantenimiento de la documentación, instalación, ...
01
![Page 7: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/7.jpg)
7TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
¿Qué nos proporciona?
Estructuras comprensibles que eviten cosas como...
01
![Page 8: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/8.jpg)
8TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 9: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/9.jpg)
9TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos maven Estructura de directorios
Estructura de directorios predefinida
— Estandarización
— Fácil comprensión
Facilita las operaciones con los Sistemas de Control de Versiones, de Gestión de Requisitos, …
02
![Page 10: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/10.jpg)
10TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos mavenCiclos de vida
Tres ciclos
— Inicialización
— Construcción
— Documentación
02
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
![Page 11: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/11.jpg)
11TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos mavenCiclo de vida asociado al proceso de construcción
Este proceso de construcción permite a los desarrolladores ir cambiando de proyectos, sin necesidad de tener que aprender nuevos procesos
validate
initialize
process-resources
generate-resources
generate-sources
process-sources
compile
process-class
generate-test-sources
compile-test
process-test-resources
process-test-sources
generate-test-sources
test
package
pre-integration-test
install
verify
integration-test
post-integration-test
deploy
02
![Page 12: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/12.jpg)
12TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos mavenCiclo de vida asociado a la inicialización
pre-clean
clean
post-clean
02
![Page 13: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/13.jpg)
13TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos mavenCiclo de vida asociado a la documentación
pre-site
site
post-site
deploy-site
02
![Page 14: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/14.jpg)
14TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos Maven POM
pom.xml (Project Object Model)— Unidad de trabajo fundamental en Maven
— Describe la configuración del proyecto
– Nombre y descripción
– Dependencias de otros otros proyectos
– Requisitos de la construcción
– Información
– Empresa y desarrolladores
– Licencias
– Documentación del proyecto
02
![Page 15: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/15.jpg)
15TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos maven Árbol POM
02
![Page 16: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/16.jpg)
16TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conceptos Maven POM mínimo
Lo único necesario para invocar a Maven para construir un JAR, WAR, etc. Si se está utilizando la estructura de ficheros fuentes por defecto
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion><groupId>es.tid.ad.seminar</groupId><artifactId>ms</artifactId><version>0.0.1-SNAPSHOT</version><name>Seminario de spring y maven</name><packaging>jar</packaging> <!-- optional for JAR -->
</project>
02
![Page 17: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/17.jpg)
17TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 18: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/18.jpg)
18TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Construcción de un proyecto Creación proyecto
Creación de un proyecto a partir de un arquetipo genérico
Estructura inicial:
mvn archetype:generate -DgroupId=com.mycompany.app-DartifactId=app -Dversion=0.0.1-SNAPSHOT –DinteractiveMode=false
03
![Page 19: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/19.jpg)
19TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Construcción de un proyecto Compilación
Compilación del proyecto
Resultado compilación:
mvn compile
03
![Page 20: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/20.jpg)
20TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Construcción de un proyecto Ejecución de test
Ejecución de test
Resultado test:
mvn test
03
![Page 21: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/21.jpg)
21TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Construcción de un proyecto Empaquetado
Ejecución del empaquetado
Resultado:
mvn package
03
![Page 22: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/22.jpg)
22TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Construcción de un proyecto Instalación en el repositorio local
Ejecución de la instalación en un repositorio local
Resultado instalación:
mvn install
03
![Page 23: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/23.jpg)
23TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Construyendo un proyecto Resumen construcción
El resultado del proyecto es un artifact (componente)
— Los goals (objetivos) más comunes para la construcción son:
– compile – Compila el código
– test – Testea el código
– package – Empaqueta el componente (jar,war,ear, …)
– install – Instala el componente en el repositorio local
– deploy – Instala el componente en el repositorio remoto
– eclipse:eclipse – Adapta el componente a eclipse
— Ej: Incialización empaquetado de un componentemvn clean package
deployinstallpackagetestcompile
03
![Page 24: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/24.jpg)
24TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 25: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/25.jpg)
25TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Repositorios
Los artifacts(componente/proyecto) son almacenados en:
— Repositorio Local: Funciona a modo de caché de todos los artifacts utilizados en los proyectos que hay instalados en la máquina (Por defecto en: $HOME/.m2/repository para linux o C:\Documents and Settings\<user>\.m2\repository para windows)
— Repositorio remoto: Accesible a través de http, https o scp al almacén de componentes
El repositorio Central de Maven contiene los artifacts más comunes (unos 50000)
— http://repo1.maven.org/maven2
03
![Page 26: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/26.jpg)
26TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Repositorios
Configuración de repositorios(I)
— pom.xml
<distributionManagement> <!– Repositorio de componentes estables-->
<repository><id>repos-release</id> <name>Repositorio de componentes de TID</name> <url>http://reposbcn.hi.inet:8081/nexus/content/repositories/tidRelease/</url>
</repository> <!– Repositorio de componentes inestables-->
<snapshotRepository> <id>repo-snapshot</id>
<name>Repositorio de snapshots componentes</name> <url>http://reposbcn.hi.inet:8081/nexus/content/
repositories/tidSnapshot/ </url> </snapshotRepository>...
03
![Page 27: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/27.jpg)
27TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Repositorios
Configuración de repositorios (II)
— pom.xml
…<!– Repositorio de documentación del proyecto --><site>
<id>reposbcn-site</id> <url> scp://reposbcn.hi.inet/home/maven/MAVEN/site/${project.groupId} /${artufactId}</url>
</site></distributionManagement>
03
En http://reposbcn.hi.inet/maven/site/es.tid.cd.archetypes/standalone-archetype/maven-repositories.html están definidos todos los repositorios en los que se entregan los diferentes componentes
![Page 28: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/28.jpg)
28TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Repositorios
Configuración de repositorios(III)
— $MAVEN_HOME/conf/settingxs.xml
<server><id>repo-release</id> <username>admin</username> <password>admin123</password>
</server<server> <id>repo-snapshot</id> <username>admin</username> <password>admin123</password> </server><server> <id>repo-site</id> <username>maven</username> <password>ihateant</password> </server>
03
En http://reposbcn.hi.inet/maven/site/es.tid.cd.archetypes/standalone-archetype/maven-configuration.html está disponible la configuración completa de maven
![Page 29: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/29.jpg)
29TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 30: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/30.jpg)
30TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Añadiendo dependencias (I)
Se declaran las dependencias y automáticamente son añadidas al classpath e incluidas en la distribución resultante del componente.— Cada dependencia se ha de incluir dentro de un scope
– compile: Son necesarias para compilar el proyecto (Se incluyen en el classpath de compilación)
– runtime: Son necesarias únicamente para ejecutar el proyecto (Se incluyen en el classpath de ejecución).
– Ej: La librería commons-logging nos abstrae de la librería de trazas que se utilice a la hora de ejecutar el proyecto. Por eso la librería commons-logging se ha de añadir al scope de compile, mientras que la de log4j, sólo es necesario en el scope de runtime
– test: Son necesarias para ejecutar los tests del proyecto (El classpath de ejecución de los test está formado por las dependencias en el scope de compile, runtime y test).
– provided: Son necesarias para la compilación del proyecto, pero no se han de entregar en el paquete.
– Ej: La librería servlet-api es necesaria para compilar servlets, pero esta librería ya la incluyen los servidores de aplicaciones (En tomcat $TOMCAT_HOME/lib/servlet-api.jar) y no hay que incluirla en el WAR.
– system: Esta dependencia está instalada en la misma máquina, y por tanto se apunta a la ruta donde está instalada. El efecto es el mismo que el scope de compile.
03
![Page 31: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/31.jpg)
31TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Añadiendo dependencias (I)
Ejemplo:
<dependencies> <dependency> <groupId>
commons-logging</groupId>
<artifactId>commons-logging-api</artifactId> <version>1.1.1</version>
<scope>compile</scope> </dependency> <dependency>
<groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.15</version><scope>runtime</scope>
</dependency>
<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet.api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency>
<groupId>junit</groupId><artifactId>junit</artifactId><version>4.5</version><scope>test</scope>
</dependency></dependencies>
03
![Page 32: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/32.jpg)
32TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Añadiendo dependencias (II)
Maven soporta dependencias transitivas, es decir, que cuando se inserta una dependencia, si esta depende de otras, estas otras se añaden al classpath. Si no son necesarias, hay que excluirlas:<dependencies>
<dependency> <groupId>commons-logging </groupId> <artifactId>commons-logging-api</artifactId>
<version>1.1.1</version> <scope>compile</scope> <exclusions> <exclusion> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </exclusion> <exclusion> <groupId>logkit</groupId> <artifactId>logkit</artifactId> </exclusion> <exclusion> <groupId>avalon-framework</groupId> <artifactId>avalon-framework</artifactId> </exclusion>
</exclusions> </dependency>
03
![Page 33: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/33.jpg)
33TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 34: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/34.jpg)
34TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Plugins
Se encargan de personalizar el proceso de construcción de un proyecto maven.
Se configuran en la sección de build ( y en la de site para generación de la Web del proyecto)
<build><plugins><!-- modificar las opciones del compilador --> <plugin> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <source>1.6</source> <target>1.6</target> <encoding>utf-8</encoding> <debug>false</debug> <optimize>true</optimize> </configuration> </plugin> </plugins></build>
03
![Page 35: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/35.jpg)
35TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Plugins
Ej 2: Definición del empaquetado de un proyecto<!-- Definición del empaquetado del proyecto --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <!-- CONFIGURACIÓN PARAMETROS --> <configuration> <filters> <filter>src/main/filters/${env}.properties</filter> <!-- Para un entorno en concreto --> </filters> <descriptors> <descriptor>src/main/assembly/dep.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>install</phase> <!-- FASE EN LA QUE SE EJECUTA ESTE PLUGIN. --> <goals> <goal>single</goal> <!– METODO DEL PLUGIN QUE SE EJECUTARÁ LA FASE DE INSTALL --> <!-- Ver http://maven.apache.org/plugins/maven-assembly-plugin/plugin-info.html --> </goals> </execution> </executions> </plugin>
03
![Page 36: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/36.jpg)
36TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Plugins Plugins estándar de maven
Core
— Clean
— Compiler
— Deploy
— Install
— Resources
— Site
— Surefire
— Verifier
Integration
— Eclipse
— Idea
Packaging— Ear
— Ejb
— Jar
— Rar
— War
Reporting— Changelog
— Changes
— Checkstyle
— Clover
— Javadocs
— PMD
— Surefire-reports
Tools
— Ant
— Archetype
— Assembly
— Dependency
— Help
— Release
— SCM
— ...
Others
— cargo
— Jetty
— ...
03
![Page 37: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/37.jpg)
37TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Plugins Invocación plugins
Dos formas:
—
Ejemplos:
— mvn site:site (Genera la documentación del proyecto)
— mvn site:deploy (Copia la documentación del proyecto en un repositorio remoto)
— mvn scm:checkout (Hace un checkout del proyecto)
mvn plugin:goal
mvn pluginGroupId:pluginArtifactId:pluginVersion:goal
03
![Page 38: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/38.jpg)
38TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 39: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/39.jpg)
39TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Control de versiones
Maven permite integrarse con la mayoría de sistemas de control de versiones: (CVS, SVN, …). Para ello:
— Configurar POM para acceder al repositorio
— Configurar POM para realizar release del proyecto
03
![Page 40: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/40.jpg)
40TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Control de versiones Acceso al repositorio
Configuración en el POM
<scm> <url>http://reposbcn.hi.inet/repositorio/publicidad/carlosg/trunk/cxf</url> <!-- Acceso modo lectura anónimo --> <connection>
scm:svn:http://reposbcn.hi.inet/repositorio/publicidad/carlosg/trunk/cxf </connection> <!-- Acceso modo lectura/escritura NO anónimo --> <developerConnection>
scm:svn:https://reposbcn.hi.inet/repositorio/publicidad/carlosg/trunk/cxf </developerConnection>
</scm>
03
![Page 41: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/41.jpg)
41TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Control de versiones Acceso al repositorio. Configuración maven-scm-plugin
POM para hacer checkout, checkin, update, … (http://maven.apache.org/scm/plugins/)
<build><plugins> <!-- integración con SVN --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.0</version> <configuration> <goals>install</goals> <!-- Se descarga el proyecto, lo compila, pasa los tests, lo empaqueta y lo instala en el repositorio local --> <checkoutDirectory>/home/cm/CM/dev/eclipse/workspace</checkoutDirectory> <username>carlosg</username> <password>mipassword</password> <tagBase> scm:svn:https://reposbcn.hi.inet/repositorio/commovistar/tags </tagBase> </configuration> </plugin></plugins></build>
mvn scm:checkout / mvn scm:checking
03
![Page 42: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/42.jpg)
42TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
POM para hacer release (http://maven.apache.org/plugins/maven-release-plugin/)<build>
<plugins> <!-- integración con SVN --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>1.0</version> <configuration> <username>carlosg</username> <password>mipassword</password> <tagBase>https://reposbcn.hi.inet/repositorio/publicidad/carlosg/tags </tagBase> </configuration> </plugin></plugins></build>
mvn release:prepare Compila, pasa los test y genera tag en el repositorio
mvn release:perform Se descarga el contenido del tag generado, compila, pasa test, genera el “.jar” con la versión y lo entrega en el repositorio y genera la documentación
Control de versiones Generación release. Configuración maven-release-plugin
03
![Page 43: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/43.jpg)
43TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 44: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/44.jpg)
44TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Arquetipos
Para empezar un proyecto se puede elegir un patrón de proyecto o arquetipo.
Un arquetipo es un proyecto MAVEN, con su propio pom.xml
En el fichero archetype.xml se definen los diferentes ficheros que forman la plantilla
Se crea a partir de mvn archetype:generate
Ej: Arquetipo para crear una aplicación JSF
mvn archetype:generate -DgroupId=es.tid.icm.cm -DartifactId=jsf-app-sample -DarchetypeArtifactId=maven-archetype-jsfapp -DarchetypeGroupId=es.tid.formacion -DarchetypeVersion=1.0-SNAPSHOT -DremoteRepositories=http://ironman.hi.inet:7777/maven
03
![Page 45: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/45.jpg)
45TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Arquetipos Estructura de un archetipo
03
![Page 46: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/46.jpg)
46TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF
Ej: Arquetipo para crear una aplicación JSF
Creando el proyecto con el arquetipo
03
mvn archetype:generate -DgroupId=es.tid.icm.cm -DartifactId=jsf-app-sample -DarchetypeArtifactId=maven-archetype-jsfapp -DarchetypeGroupId=es.tid.formacion -DarchetypeVersion=0.0.1-SNAPSHOT -DremoteRepositories=http://ironman.hi.inet:7777/maven –DinteractiveMode=false
![Page 47: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/47.jpg)
47TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Proyecto creado
03
![Page 48: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/48.jpg)
48TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Adaptación del proyecto a eclipse
03
![Page 49: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/49.jpg)
49TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Proyecto adaptado a eclipse
03
![Page 50: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/50.jpg)
50TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Insertando proyecto en eclipse
03
![Page 51: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/51.jpg)
51TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Insertando proyecto en eclipse (II)
03
![Page 52: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/52.jpg)
52TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Insertando proyecto en eclipse (III)
03
![Page 53: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/53.jpg)
53TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
ArquetiposEjemplo: Construcción de un proyecto JSF Insertando proyecto en eclipse (IV)
03
![Page 54: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/54.jpg)
54TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 55: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/55.jpg)
55TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Perfiles de construcción
Modifica la construcción del proyecto dependiendo del entorno:
— Dependencias, repositorios y plugins
El perfil puede ser seleccionado por:
— El sistema operativo, JDK, la existencia de algún software, o bien a través de la línea de comandos.
— Por usuario o por proyecto
Y puede ser usado para entornos estándar
— Desarrollo, Integración y Producción
03
![Page 56: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/56.jpg)
56TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Perfiles de construcción
Ejemplo:
— Configuración de los repositorios (Se incluyen en el pom.xml, settings.xml ó en profiles.xml)
<profiles> <!-- Profile desarrollo (Activo por defecto) --> <profile> <id>development</id> <activation><activeByDefault>true</activeByDefault> </activation> <properties> <env>development</env> <compiler.info.debug>true</compiler.info.debug> <compiler.optimize>false</compiler.optimize> </properties> </profile> <!-- Producción --> <profile> <id>production</id> <activation> <activeByDefault>false</activeByDefault> </activation> <properties> <env>production</env> <compiler.info.debug>false</compiler.info.debug> <compiler.optimize>true</compiler.optimize> </properties> </profile> <!-- Integration --> …
03
![Page 57: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/57.jpg)
57TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 58: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/58.jpg)
58TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Site y Documentación
Maven ayuda a la generación de la web del proyecto, añadiendo información del componente de forma “automática”, a partir de la descripción del mismo en el pom.xml
Acepta diferentes formatos de entrada de texto
— APT (Almost Plain Text)
— Xdoc
— FML (Faq Markup Language)
— DocBook
Permite la salida en Xdoc, XHTML, DocBook, Latex y RTF
La generación del site permite la utilización de plantillas de velocity.
03
![Page 59: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/59.jpg)
59TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Ejemplo de documento APT03
![Page 60: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/60.jpg)
60TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Ejemplo de documento APT03
![Page 61: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/61.jpg)
61TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Generando la documentación del proyecto
Creando el site (mvn site:site)
03
![Page 62: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/62.jpg)
62TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Generando la documentación del proyecto
Resultado de la generación
03
![Page 63: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/63.jpg)
63TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Generando la documentación del proyecto
Desplegando el site (mvn site:deploy)
03
![Page 64: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/64.jpg)
64TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Generando la documentación del proyecto
Accediendo a la web del proyecto (I)
03
![Page 65: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/65.jpg)
65TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Generando la documentación del proyecto
Accediendo a la web del proyecto (II)
03
![Page 66: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/66.jpg)
66TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Generando la documentación del proyecto
POLÉMICA APT/WIKI
— Ventajas wiki:
– Edición muy sencilla y con posiblidadades de previsualización
– No es necesario compilar la documentación
— Ventjas APT:
– Generación automática de informes
– Toda la documentación asociada al proyecto
03
![Page 67: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/67.jpg)
67TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 68: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/68.jpg)
68TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
MAVEN en TID
Objetivo:
— Utilizar un repositorio de componentes común para compartir todos los componentes
Trabajo colaborativo
— No se trata de que alguien se dedique a hacer componentes para el resto de divisiones o proyectos. Sino que cada uno compartiese volutariamente sus componentes.
— Para conseguirlo habría que definir una guía de buenas prácticas donde se recogiesen, ¿cuáles son los requisitos para compartir un componente?
– Documentación del componente
– Jerarquía de paquetes
– ...
04
![Page 69: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/69.jpg)
69TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
MAVEN en TID Repositorios “oficiales” de TID
En http://reposbcn.hi.inet:8081/nexus existe un proxy de repositorios.
Repositorios internos (acceso modo lectura/escritura)— http://reposbcn.hi.inet/maven/site/es.tid.cd.archetypes/sta
ndalone-archetype/maven-repositories.html
Repositorios externos (Consultaros en http://reposbcn.hi.inet:8081/nexus)
Repositorio documentación
— http://reposbcn.hi.inet/maven/site/${project.groupId}/${project.artifactId}
04
![Page 70: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/70.jpg)
70TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
01 Introducción
02 Conceptos maven
03 Construcción de un proyecto
- Creación proyecto - Control de versiones
- Repositorios - Arquetipos
- Dependencias - Perfiles
- Plugins - Site y documentación
04 Maven en TID
05 Conclusiones
Índice
![Page 71: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/71.jpg)
71TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conclusiones¿Cómo encaja maven dentro de un proyecto?
Definiendo y manteniendo proyectos de forma estandarizada
Generando informes de los que obtener indicadores para la toma de decisiones
Agilizando los procesos de distribución
Centralizando la información mediante la generación de un sitio web para los proyectos
Integrándose con repositorios de fuentes, sistemas de integración contínua…
05
![Page 72: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/72.jpg)
72TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Conclusiones
No dedicar más tiempo del necesario a definir procedimientos si herramientas como Maven ya los modelan.
Maven como resultado de la experiencia de otros profesionales.
Existe gran cantidad de plugins que nos permiten trabajar con framework y librerías más conocidas: hibernate, struts, Spring, ... (Cuidadiiiiiiiin!! con los plugins que algunos no están estables, y la mayoría poco documentados).
Permite el trabajo colaborativo
La generación automatizada de código fuente, archivos de configuración, documentación, etc..., aumenta la productividad y reduce el riesgo de errores.
05
![Page 73: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/73.jpg)
73TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Dudas, preguntas, …
![Page 74: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/74.jpg)
74TELEFÓNICA I+D
© 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal
Bibliografía
Web oficial de maven
— http://maven.apache.org
Documentación de maven en reposbcn (Esta presentación)
— http://pimpam.googlecode.com/svn/trunk/standalone-archetype/src/site/resources/Introducci%c3%b3n%20a%20Maven%202.ppt
— Better Builds with maven
— http://www.devzuz.com/c/document_library/get_file?folderId=8&name=DLFE-52.pdf
![Page 75: © 2007 Telefónica Investigación y Desarrollo, S.A. Unipersonal Introducción a Maven 2.0 TELEFÓNICA I+D Carlos Gómez Fecha: 25/03/2009.](https://reader030.fdocuments.ec/reader030/viewer/2022012905/54cff80049795990548b4fe9/html5/thumbnails/75.jpg)