Está en la página 1de 35

Ejemplo del uso de Maven

Uso de maven tomando la aplicacin Formul@


como ejemplo

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

ndice
1. OBJETO DE ESTE DOCUMENTO.............................................................................3
2. INSTALACIN.....................................................................................................3
3. CREACIN DEL PROYECTO...................................................................................4
4. ESTRUCTURA DEL PROYECTO MAVEN. MIGRACIN DE LOS CONtENIDOS..................7
5. DEFINICIN DE NUESTRAS DEPENDENCIAS.......................................................... 9
6. EMPAQUETAMIENTO DEL PROYECTO....................................................................16
7. PLUGINS DE MAVEN..........................................................................................16
8. OTRAS INFORMACIONES................................................................................... 18
9. GENERACIN DEL SITIO WEB............................................................................ 20
10. INFORMES PARA ANALIZAR LA CALIDAD............................................................24
11. FICHERO DESCRIPTOR PARA FORMULA. POM.XML...............................................25

1. OBJETODEESTEDOCUMENTO
El objetivo de este documento es ilustrar el uso de maven con una
aplicacin java ya creada, la aplicacin web Formul@.

2. INSTALACIN.
Pasos para la instalacin de maven 2
1) Desempaquetamos el archivo maven-2.0.x-bin.tar.gz que nos podemos
bajar de la pgina de maven http://maven.apache.org/download.html en
la ruta donde deseemos instalarlo.
- tar zxvf maven-2.0.x-bin.tar.gz o
- unzip maven-2.0.x.zip
Tras esto se crear un directorio llamado "maven-2.0.x".
2) Aadir el directorio a el PATH:
- export PATH=.:/home/prueba/maven-2.0.x /bin:$PATH
- set PATH="c:\program files\maven-2.0.x\bin";%PATH%

Tipo de documento
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 2

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

3) Establece la variable JAVA_HOME a la carpeta del jdk.


- export JAVA_HOME=/home/prueba/jdk1.5.0_09
4) Ejecuta "mvn version". Si se ha instalado correctamente mostrara la
versin de maven que estamos utilizando.
Despus de esto solo tendremos que usar el comando mvn desde la
carpeta de nuestro proyecto que contendr un fichero llamado por defecto
pom.xml.

3.
4. CREACINDELPROYECTO
Para crear el proyecto con estructura maven para Formul@ podemos
hacerlo de dos formas.
1. Usando el mecanismo de arquetipos de maven: El plugin archetype
de maven es toolkit para creacin de platillas de proyectos.
2. Creando una carpeta con un pom.xml (que es el fichero que
describe un proyecto en maven) vaco.
Explicaremos el primer mecanismo, aunque este tiene mas utilidad
cuand empezamos una aplicacin desde cero.
Un archetype es un plugin que indica a maven con que que tipo de
estructura tiene que crear un proyecto. En funcin del tipo de proyecto
que queramos crear existen varios archetype, que nos permiten por
ejemplo crear proyectos para struts, spring, jsf, etc.
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 3

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

Una lista de archetypes disponibles se puede ver en esta url:


http://docs.codehaus.org/display/MAVENUSER/Archetypes+List
Usando la siguiente instruccin con el archetype maven-archetypewebapp crearemos nuestro primer proyecto para maven.
mvn archetype:create
-DgroupId=com.viavansi
-DartifactId=formula
-Dpackaging=war
-DarchetypeGroupId=org.apache.maven.archetypes
-DarchetypeArtifactId=maven-archetype-webapp
-Dversion=1.0
-DarchetypeVersion=1.0
En esta instruccin aparecen un conjunto de elementos que se
guardar en el pom.xml del proyecto y que son tpicos de cualquier
componente que se encuentre instalado en un repositorio maven.
1. artifacId es el nombre que le ponemos a nuestra aplicacion o
componente y el nombre que se usara cuando la metamos en el
repositorio interno de maven.
2. groupId es el grupo dentro del repositorio al que queremos que
pertenezca nuestro componente. Y suele hacer referencia a la
organizacin, similar al paquete de una clase.
3. packaging indica el tipo de empaquetamiento que se usar con la
aplicacin, en este caso war.
4. version indica la versin actual de la aplicacin.
Los
elementos
archetypeGroupId,
archetypeArtifactId
y
archeytypeVersion tienen el mismo significado que artifactId, groupId y
packaging pero referidos al componente maven-archetype-webapp que es
el archetype que vamos a usar.
Con esto solo necesitamos conexin a Internet para que maven se baje
el plugin correspondiente al archetype maven-archetype-webapp, ya que
es la primera vez que lo usamos, y que esta en el repositorio
http://www.ibiblio.org/maven2 como se puede en la tabla anterior.
Con esto tendremos una carpeta con la siguiente estructura:

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 4

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

5.
6.
7.
El pom.xml inicial de nuestro proyecto es el siguiente:
<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>com.viavansi</groupId>
<artifactId>formula</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>formula Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 5

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<build>
<finalName>formula</finalName>
</build>
</project>
El componente junit en su versin 3.8.1 nos lo aade automticamete
como una dependencia, que es la forma en que se declara en maven
todas los componentes software que necesita nuestro proyecto.

8. ESTRUCTURADELPROYECTOMAVEN.
MIGRACINDELOSCONtENIDOS.
Maven propone una estructura estndar de un proyecto:
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 6

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

En funcin del archetype que usemos esta estructura de carpetas


puede cambiar. El proyecto se describe en su totalidad en el fichero
pom.xml, y existe una localizacin estndar para el cdigo fuente, los
recursos, el cdigo de la aplicacin Web. Estas localizaciones tambin se
pueden cambiar desde el pom.xml pero no es necesario.
El segundo paso tras crear el proyecto es migrar todos nuestros
ficheros a la nueva estructura de proyecto que hemos creado.
Es fundamental conocer que se coloca en cada una de las carpetas de
un proyecto maven. Por ejemplo las pginas y otros recursos como tags,
applets y el fichero web.xml se deben de encontrar en src/main/webapp.
En la siguiente tabla se puede ver que contiene cada carpeta.
src/main/java

Ficheros de cdigo fuente .java.

src/main/resources

Todo lo que queramos que se copie cuando se cree la


carpeta del proyecto en target.

src/main/filters *

Ficheros para los filtros.

src/main/assembly *

Ficheros para el ensamblaje. En


componen de varios subproyectos.

src/main/config

Ficheros de configuracin.

src/main/webapp

Pginas y otros recursos como tags, applets, css,


imgenes, ficheros js. y el fichero web.xml (en
webapp/WEB-INF/web.xml).

src/test/java

Cdigo fuente de las pruebas del proyecto.

src/test/resources

Recursos para las pruebas.

proyectos

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

que

se

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 7

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

src/main/java

Ficheros de cdigo fuente .java.

src/test/filters *

Filtros para las pruebas.

src/site

Carpeta que contiene todos los ficheros necesarios para la


generacin automtica del sitio web con la informacin del
proyecto. La generacin del sitio se explicara ms
adelante.

target

Es el directorio destino de todo build en maven. Vamos


todo el cdigo compilado el proyecto, de las pruebas, los
ficheros .jar .war etc. cuando empaquetemos el proyecto,
la carpeta con el sitio web generado, todo se crea bajo la
carpeta target.

LICENSE.txt

Proyecto donde se describen las licencias usadas para el


proyecto.

README.txt

El fichero readme de introduccin al proyecto

En esta imagen se puede ver que hemos metido en cada carpeta de


formula.

Todo lo que hay bajo la carpeta site es para la generacin del sitio web
del proyecto que generaremos con maven al final del documento.
Como habrn observado no existe una carpeta en un proyecto maven
donde se coloquen las libreras, como las que una aplicacin web java
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 8

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

posee en la carpeta /WEB-INF/lib. La clave esta en el mecanismo que


usa maven para gestionar las dependencias.
Una vez que hemos movido el contenido de nuestra aplicacin a la
nueva estructura de proyecto el siguiente paso ser de finir en el pom.xml
las dependencias de nuestro proyecto.

9. DEFINICINDENUESTRAS
DEPENDENCIAS.
Maven tiene un potente mecanismo de gestin de dependencias.
Simplemente indicando en el pom.xml los componentes software que
nuestra aplicacin necesita maven se encarga de su obtencin de un
repositorio local o remoto, actualizarlas, y resolver las dependencias
transitivas (osea las dependencias de las dependencias).
En el pom.xml que tenemos creado ya se encuentra definida una
dependencia. La de la versin 3.8.1 de junit. Como se ha podido ver antes
un proyecto maven tienen una localizacin para las pruebas que se creen
para el proyecto con junit.
Estas pruebas podremos lanzadlas desde la linea de comandos y ver los
resultados mvn test e incluso ver los resultados en el sitio web que
maven genera con informacin del proyecto.
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Adems de los campos groupId, artifactId y versin que todos los
proyectos en maven tienen. Al aadir la dependencia tenemos que decir el
mbito <scope>. Los ms usados on compile que sern todas aquellas
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 9

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

libreras/proyectos que nuestro proyecto necesita par compilar, y test


como se ve en el ejemplo que indica que son libreras necesarias para
ejecutar las pruebas.
En maven hay dos tipos de repositorios, los repositorios locales, por
defecto en linux se encuentra en /home/usuario/.m2/repository y se pude
modificar en el fichero setting.xml, y los repositorios remotos.
Cuando intentemos compilar, empaquetar o instalar nuestro proyecto
maven buscar las dependencias que le hemos indicado. Primeramente en
el repositorio local y si no los encuentra buscar en los repositorios que
tiene
por
defecto
configurados
va
Internet
(http://repo1.maven.org/maven2).
Tambin se puede aadir una etiqueta en el pom.xml para indicarle
otros repositorios en los que buscar, como veremos mas adelante.
Todo lo que encuentre en los repositorios remotos maven se lo
descargara y quedar cacheado en el repositorio local para hacer ms
rpidos prximos accesos a esas dependencias.
As que iremos aadiendo un elemento <dependency> dentro del
<dependencies> para cada librera de nuestro proyecto. En principio si ya
hemos definido todas nuestras dependencia podramos compilar nuestro
proyecto con un sencillo mvn compile.
Es muy probable sobre todo porque hablamos de proyectos que se han
desarrollado sin usar maven, que encontremos problemas a la hora de
describir nuestras dependencias en el pom.xml de forma que maven las
encuentre en los repositorio remotos (sobre todo si son propias claro estas
no las encontrara). El artifactId, groupId y la versin son la clave para
que maven se pueda identificar la dependencia que ponemos no
corresponde con los que tienen las libreras en los repositorios.
Existen algunos sitios en internet que puden facilitarnos la tarea de
descripcin de las dependencias en el pom.xml:
1. http://www.mvnrepository.com/
2. http://www.javacio.us/
3. Tambien podemos usar la utilidad para adir dependencias de
alguno de los plugins de eclipse para maven:
1. http://m2eclipse.codehaus.org/
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 10

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

2.

http://code.google.com/p/q4e/

Si despues de exponer todas las dependencias en el pom.xml no


conseguimos que maven compile y empaquete los fuentes bien por no
encontrar dependencias (de terceros o propias) tendremos que
desplegarlas en algun repositorio de librerias maven. Esto se puede hacer
de difrentes formas:
1. Para instalar las dependenciasa en nustro repositorio local:

mvneinstall:installfileDfile=./target/myjar
1.0.jar
-DgroupId=es.juntadeandalucia.cice
-DartifactId=apiPropiaDeEjemplo
-Dversion=1.0

-Dpackaging=jar
2. Para desplegarlo a un repositorio remoto podemos usar el goal de
maven deploy:deploy-file o de forma mas sencilla usando la
interface web de una aplicacin que haga las funciones de
repositorio
remoto
de
maven,
por
ejemplo
artifactory:
http://www.jfrog.org/sites/artifactory/1.2/
Para usar esto repositorio remoto nuestro o algun otro de los existentes
por einternet aadiremos nuestro pom.xml las siguientes lineas donde se
indican tres repositorios de donde buscar componentes.
<repositories>
<repository>
<id>Viavansi</id>
<name>viavansi-repo</name>
<url>http://srvrepositorio.junta-andalucia.es/repository/</url>
</repository>
<repository>
<id>JuntaEnInternet</id>
<name>viavansi-repo</name>
<url>http://srvrepositorio.junta-andalucia.es/repository/</url>
</repository>
<!-- Para la entrega
<repository>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 11

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<id>Junta</id>
<name>viavansi-repo</name>
<url>http://srvrepositorio.junta-andalucia.es/repository/</url>
</repository>-->
<repository>
<id>apache-repo</id>
<name>apache-repo</name>
<url>http://myfaces.zones.apache.org/dist/maven-repository</url>
</repository>
</repositories>

En
http://myfaces.zones.apache.org/dist/maven-repository
encontrara las libreras de myfaces y tomahawk.

maven

El proceso ha seguir despus de poner los repositorios de los que


tiraremos es ir aadiendo todas las dependencias al pom.xml. Estas son
las dependencias que tiene formul@, que eran las libreras que esta
aplicacin tenia antes de empezar a crear el proyecto con maven.
<dependencies>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>viavansi-framework</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>viavansi-firma</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>viavansi-jsftools</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.viavansi</groupId>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 12

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<artifactId>fop</artifactId>
<version>0.92-viavansi</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>es.juntadeandalucia</groupId>
<artifactId>trewa</artifactId>
<version>1.3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>es.juntadeandalucia</groupId>
<artifactId>ApiFirmaCliente</artifactId>
<version>4.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>es.juntadeandalucia</groupId>
<artifactId>clientepfirma</artifactId>
<version>1.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.1.3</version>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 13

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.tomahawk</groupId>
<artifactId>tomahawk</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
<version>2.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc-api</artifactId>
<version>1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>batik</groupId>
<artifactId>batik-extension</artifactId>
<version>1.6</version>
<scope>compile</scope>
</dependency>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 14

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<dependency>
<groupId>jep</groupId>
<artifactId>jep</artifactId>
<version>2.24</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>dwr</groupId>
<artifactId>dwr</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.0-jsr-04</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
Despus de poner todas las dependencias si ejecutamos mvn compile
maven lo primero que har ser mirar si esas se encuentran en el
repositorio local y si no los encuentra buscar en los otros que hemos
definido.
Por ejemplo la librera de tomahawk ir a buscarla en el repositorio
http://myfaces.zones.apache.org/dist/maven-repository
y
creara
la
estructura necesaria en el local para la prxima vez. Despus podemos
ver
en
/home/usuario/.m2/repository/org/apache/myfaces
las
subcarpetas con la librera de tomahawk de la versin 1.1.3.

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 15

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

El caso es igual para la librera viavansi-firma-1.0.1.jar que se


encuentra en el repositorio viavansi-repo.

10. EMPAQUETAMIENTODELPROYECTO.
Un proyecto se empaqueta mediante el comando mvn package lo que
crea un archivo con el tipo de empaquetamiento que pusimos en la
etiqueta <packaging> del pom.xml.
Estos tienen que ser lgicamente formatos standard (jar, war, ejb3)
para los que maven tiene sus propios plugin.
Si nuestro proyecto es en realidad un proyecto ejb donde solo tenemos
la capa de negocio (enterprise beans de sesin) y necesitamos
empaquetarlo como .ejb para posteriormente desplegarlo indicaremos en
la etiqueta <packaging> que el tipo de empaquetamiento es ejb (hasta la
versin 2.1) o ejb3 y al ejecutar mvn package se creara el archivo .ejb
o .ejb3 correspondiente en la carpeta target del proyecto.
Par un empaquetamiento war o jar no necesitamos aadir nada ms
pero para los ejb necesitamos aadir al pom.xml la informacin de los
plugins maven-ejb-plugin (si es hasta la 2.1) o maven-ejb3-plugin (para la
3.0).
En el caso de Formul@ el empaquetamiento que necesitamos para
luego desplegarlo es war como ya indicamos al crear el proyecto. Si
ejecutamos mvn package en la carpeta del proyecto nos crear en la
carpeta ./target/formula.war
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 16

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

En el punto 7 explicaremos como se configuran los plugin.

11. PLUGINSDEMAVEN
Maven dispone de una gran cantidad de plugins. Cada uno de los
comando anteriormente usados son lo que en maven se definen como
'goals' y pertenecen a ciertos plugins.
La notacin para usar estos goals es plugin:goal pero muchas veces
se puede omitir el goal y llamando con el plugin ya maven sabe cual es el
goal por defecto a ejecutar.

Muchos de estos plugins se pueden usar sin tener que indicarlos en el


pom.xml. Son los que pertenecen al ncleo de maven. Otros hay que
especificarlos para poder usarlos. Adems podemos cambiar la
configuracin de los plugin aadindolos al pom.xml.
Plugins destacables son: Compiler, Install, Deploy, SCM, Archetype,
Site etc.
Para ilustrar el ejemplo podemos ver como se indica que vamos a usar
el plugin SCM que usa maven para comunicarse con sistemas de control
de versiones (CVS, Subversion).
<build>
<finalName>myapp</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0-beta-3</version>
</plugin>
</plugins>
<build>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 17

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

Esto nos dara la posibilidad e ejecutar los goals del plugin scm de
maven para trabajar con un repositorio que tambin se le indicara en el
pom.xml:
<scm>
<!-- UN SUBVERSION CON APACHE -->
<connection>
scm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formula
</connection>
<developerConnection>
scm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formula
</developerConnection>
<scm>
Otro ejemplo sera el del plugin Site que se usa para generar el portal
maven para el proyecto.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>es_ES</locales>
</configuration>
</plugin>

El plugin Site es el que usaremos para que maven cree


automticamente un portal web con la informacin del proyecto. Con el
comando mvn site se crear una carpeta targe/site con todos los html y
recursos del sitio.
No entraremos en este documento a explicar la configuracin y diseo
de este portal, para lo que se usa el fichero site.xml. Este tema se trata
ms en profundidad en el documento 'Informe Sobre el uso de Maven'.

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 18

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

12. OTRASINFORMACIONES
En el pom.xml podemos aadir otras informaciones que pueden ser
interesantes como la organizacin, los desarrolladores, listad de
distribucin que se usen para el proyecto, contribuciones etc.
ej1: Organizacin
<organization>
<name>Consejeria de Medio Ambiente. Junta de Andaluca</name>
<url>http://www.cma.juntaandalucia.es/medioambiente/site/web/</url>
</organization>
ej2: Lista de distribucin de corro de Spring.
<mailingLists>
<mailingList>
<name>Spring User List</name>
<archive>http://sourceforge.net/mailarchive/forum.php?
forum_id=30287
</archive>
</mailingList>
</mailingLists>

ej3: Desarrolladores.
<developers>
<developer>
<id>jechaverria</id>
<name>Javier Echeverria Usua</name>
<email>jecheverria@avansi.com</email>
<roles>
<role>Jefe de proyectos</role>
<role>Analista</role>
</roles>
<organization>Viavansi</organization>
<timezone>+1</timezone>
</developer>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 19

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

</developers>
ej4: Contribuciones
<contributors> <!-- Para configurar la seccin de contributors -->
<contributor>
<name>XXX XXX XXX</name>
</contributor>
</contributors>

13. GENERACINDELSITIOWEB
Uno de los puntos ms interesantes de maven es la generacin de
sitios web con documentacin para los proyectos. En maven se pueden
generar un sitio web para nuestro proyecto simplemente ejecutando el
goal site ej. mvn site.
Previamente tenemos que saber que al igual que para trabajar con el
cdigo del proyecto o de las pruebas, para generar el sitio web tambin
hay que respetar una estructura de carpetas predefinidas, que comienza
con la carpeta ./src/site/. Dentro de esta carpeta encontraremos un
fichero site.xml que junto con la informacin del pom.xml se usar para
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 20

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

generar el sitio. Adems de este fichero dentro de ./src/site/ se


encuentran otras carpetas que separan segn el tipo los elementos que se
usaran para la generacin del maven y que recibirn un tratamiento
distinto.
La estructura de directorios que debemos tener con los ficheros para
generar nuestro sitio web es la siguiente:

site

Contiene el site.xml que define la estructura del portal

site/apt

Esta carpeta contiene ficheros con formato apt que ses un formato tipo
wiki para escribir documentos de texto estructurados de forma simple.
La referencia a este formato la podemos encontrar en esta url:
http://maven.apache.org/guides/mini/guide-apt-format.html

site/fml

Esta carpeta contiene ficheros de formato FAQ. Un formato xml simple


para gestin de FAQs.

site/xdoc

Esta carpeta contiene ficheros xml. Estos ficheros son traducidos


automticamente por maven a pginas html. Usaremos este sistema
para crear una pgina propia dentro del sitio web que acceda a
documentos guardados en Alfresco junto con las que genera maven.

site/resources

Aqu se guardan todos los recursos que queremos que se copien al


sitio web cuando se genere, y que no necesitan ningn otro
tratamiento. Por ejemplo las css, scripts, imgenes, etc.

En la siguiente imagen se puede ver los ficheros y carpetas que hemos


creado para nuestro sitio web:

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 21

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

Empezaremos dando un vistazo al site.xml que hemos usado para


formul@:
site.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="F@rmula">
<publishDate position="navigation-bottom" format="dd_MM_yyyy"/>
<bannerLeft>
<name>F@rmula. Consejera de Medio Ambiente</name>
<src>/images/cab_formula.gif</src>
<href>http://www.juntadeandalucia.es/repositorio</href>
</bannerLeft>
<bannerRight>
<src>/images/logoviavansi.gif</src>
<href>http://www.viavansi.com/</href>
</bannerRight>
<body>
<links>
<item name="Desarrollado por viavansi"
href="http://www.viavansi.com" />
<item name="Repositorio Junta de Andalucia"
href="http://www.juntadeandalucia.es/repositorio"/>
<item name="Maven" href="http://maven.apache.org/"/>
</links>
<menu name="F@rmula v1.0.0">
<item name="Introduccin" href="index.html"/>
<item name="Documentacin" href="documentacion.html"/>
<item name="Anlisis" href="analisis.html"/>
</menu>
<menu name="Informes" ref="reports" />
</body>
</project>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 22

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

Los ficheros .apt (almost plain text) son un formato de texto sencillo en
el que se pueden definir pginas de forma sencilla. Maven se encarga de
interpretar estos ficheros y traducirlos a xdocs.
Aqu se puede ver el contenido del index.apt.

-----Introduccin
-----Viavansi
-----Date
Plataforma de tramitacin interna para la Consejera de Medio Ambiente
de la Junta de Andaluca
La aplicacin formul@ es un tramitador telemtico diseado para la
Consejera de Medio Ambiente de la Junta de Andaluca.
La aplicacin principal se divide en 2 bloques principales:
* Una parte pblica: conforma la parte pblica de la aplicacin a la cul
tienen acceso los solicitantes de las tramitaciones telemtica.
* Una parte de administracin accesible solo por el personal autorizado
de la Consejera de Medio Ambiente y destinada la gestin y
administracin de los procedimientos telemticos.

Al ejecutar mvn site nos genera una carpeta con el sitio web completo
bajo la ruta target/site la cual podemos ver en la siguiente imagen.

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 23

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

Para
tocar
los
estilos
hemos
aadido
en
la
carpeta
src/site/resources/css/ el fichero site.css. Este fichero contiene con los
estilos que previamente cogimos de la css por defecto que usa el plugin
site y luego le tocamos los colores. No hace falta tocar las pginas y
fichero xdoc, apt del sitio porque el ficheor site.css es uno de los que son
aadidos siempre al generar las pginas como hoja de estilo en todas las
pginas.

14. INFORMESPARAANALIZARLA
CALIDAD.
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 24

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

En Maven existen varios plugins que se pueden aadir para analizar la


calidad del software como son:
Checkstyle: Informe sobre el estilo del cdigo.
PMD: Verificacin de reglas en el cdigo.
CPD: Deteccin de cdigo duplicado.
Test De Cobertura: informe sobre que parte del cdigo esta cubierto
por las pruebas de junit.
Surefire: Resultado de las pruebas de junit.
Source xref: informe html de las referencias entre el cdigo Java.
Tag list: informe de varias etiquetas encontradas en el cdigo. (por ej:
FIXME, TODO etc...).
Javadoc: Javadoc de la aplicacin.
Para aadir estos informes al sitio web lo nico que hay que hacer es
aadir los plugins necesarios al pom.xml y una seccin nueva
<reporting>.
Para ver ya el proyecto completo con sus plugins y el resto de
informacin mejor nos vamos ya a la seccin siguiente con el pom.xml
completo.

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 25

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

15. FICHERODESCRIPTORPARA
FORMULA.POM.XML
<?xml version="1.0"?><project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.viavansi</groupId>
<artifactId>formula</artifactId>
<packaging>war</packaging>
<name>Formula</name>
<version>1.0</version>
<url>http://maven.apache.org</url>
<developers>
<developer>
<id>borrego</id>
<name>Felix G. Borrego</name>
<email>fgarcia@avansi.com</email>
<roles>
<role>Arquitecto</role>
<role>Desarrollador</role>
<role>Analista</role>
</roles>
<organization>Viavansi</organization>
<timezone>+1</timezone>
</developer>
<developer>
<id>jechaverria</id>
<name>Javier Echeverria Usua</name>
<email>jecheverria@avansi.com</email>
<roles>
<role>Jefe de proyectos</role>
<role>Analista</role>
</roles>
<organization>Viavansi</organization>
<timezone>+1</timezone>
</developer>
<developer>
<id>jorge</id>
<name>Jorge Torres Chacon</name>
<email>jtorres@avansi.com</email>
<roles>
<role>Desarrollador</role>
<role>Analista</role>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 26

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

</roles>
<organization>Viavansi</organization>
<timezone>+1</timezone>
</developer>
<developer>
<id>lcruz</id>
<name>Luis Migel Cruz Renero</name>
<email>lcruz@avansi.com</email>
<roles>
<role>Desarrollador</role>
<role>Analista</role>
</roles>
<organization>Viavansi</organization>
<timezone>+1</timezone>
</developer>
<developer>
<id>mnavarro</id>
<name>Manuel Navarro Almuedo</name>
<email>mnavarro@avansi.com</email>
<roles>
<role>Analista</role>
</roles>
<organization>Viavansi</organization>
<timezone>+1</timezone>
</developer>
</developers>
<organization>
<name>Consejeria de Medio Ambiente. Junta de Andaluca</name>
<url>http://www.cma.junta-andalucia.es/medioambiente/site/web/</url>
</organization>
<scm>
<connection>scm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formula</c
onnection>
<developerConnection>scm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/f
ormula</developerConnection>
</scm>
<distributionManagement>
<site>
<id>deployEnLocal</id>
<name>deployEnLocal</name>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 27

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<url>file:///home/felipe/alfresco/tomcat/webapps/formula_v2.war</url>
</site>
</distributionManagement>
<build>
<finalName>formula</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xmlbeans-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>xmlbeans</goal>
</goals>
</execution>
</executions>
<inherited>true</inherited>
<configuration>
<schemaDirectory>src/main/xsd</schemaDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.2</version>
<configuration>
<wtpversion>1.0</wtpversion>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0-beta-3</version>
<configuration>
<goals>install</goals>
<checkoutDirectory>${basedir}/src</checkoutDirectory>
</configuration>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 28

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>es_ES</locales>
<inputLocales>es_ES</inputLocales>
<outputLocales>es_ES</outputLocales>
<inputEncoding>ISO-8859-1</inputEncoding>
<outputEncoding>ISO-8859-1</outputEncoding>
<encoding>ISO-8859-1</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<executions>
<execution>
<id>clean</id>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<!--<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.0-beta-3</version>
<configuration>
<goals>install</goals>
<checkoutDirectory>${basedir}/src</checkoutDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 29

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<artifactId>maven-site-plugin</artifactId>
<configuration>
<locales>es_ES</locales>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<executions>
<execution>
<id>clean</id>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>viavansi-repo</id>
<name>viavansi-repo</name>
<url>file:///home/felipe/Proyectos/formula_v2/repositorio</url>
</repository>
<repository>
<id>default</id>
<name>default</name>
<url>file:///home/felipe/.m2/repository</url>
</repository>
<repository>
<id>apache-repo</id>
<name>apache-repo</name>
<url>http://myfaces.zones.apache.org/dist/maven-repository</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>viavansi-framework</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 30

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

</dependency>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>viavansi-firma</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>viavansi-jsftools</artifactId>
<version>1.0.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.viavansi</groupId>
<artifactId>fop</artifactId>
<version>0.92-viavansi</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>es.juntadeandalucia</groupId>
<artifactId>trewa</artifactId>
<version>1.3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>es.juntadeandalucia</groupId>
<artifactId>ApiFirmaCliente</artifactId>
<version>4.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>es.juntadeandalucia</groupId>
<artifactId>clientepfirma</artifactId>
<version>1.1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>compile</scope>
</dependency>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 31

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-impl</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.core</groupId>
<artifactId>myfaces-api</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.myfaces.tomahawk</groupId>
<artifactId>tomahawk</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
<version>2.1.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxrpc-api</artifactId>
<version>1.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.axis</groupId>
<artifactId>axis</artifactId>
<version>1.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>batik</groupId>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 32

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<artifactId>batik-extension</artifactId>
<version>1.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>jep</groupId>
<artifactId>jep</artifactId>
<version>2.24</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>dwr</groupId>
<artifactId>dwr</artifactId>
<version>1.1.3</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.0-jsr-04</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.2</version>
<scope>compile</scope>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 33

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
</plugin>
<!-<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>config/maven_checks.xml</configLocation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<configuration>
<tags>
<tag>TODO</tag>
<tag>@todo</tag>
<tag>FIXME</tag>
<tag>@fixme</tag>
<tag>todo</tag>
<tag>@TODO</tag>
<tag>fixme</tag>
<tag>@FIXME</tag>
Ejemplo del uso de Maven
Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 34

Ejemplo del uso de Maven


Uso de maven tomando la aplicacin Formul@ como ejemplo
266752708.odt

</tags>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

Ejemplo del uso de Maven


Creado por:
lt. edicin por:

Javier Echeverra Usa

Revisin 1.0
Fecha creacin:
Fecha ltima edicin:

18/01/2007 08:21
22/01/2006 08:01

Pgina 35