Maven paso a paso

Embed Size (px)

DESCRIPTION

como usar maven y no morir en el intento

Citation preview

Ejemplo del uso de Maven

Ejemplo del uso de MavenUso de maven tomando la aplicacin Formul@ como ejemploTipo de documentoINFORMACIN

Cdigo del documentoEjemplo_del_uso_Maven.odtMavenMavenRevisin1.0N total de pginas

Elaborado porJavier Echeverra Usa

Historial de cambio

VersinFechaCambio

Lista de distribucin

ndice1. OBJETO DE ESTE DOCUMENTO32. INSTALACIN.33. CREACIN DEL PROYECTO44. ESTRUCTURA DEL PROYECTO MAVEN. MIGRACIN DE LOS CONtENIDOS.75. DEFINICIN DE NUESTRAS DEPENDENCIAS.96. EMPAQUETAMIENTO DEL PROYECTO.167. PLUGINS DE MAVEN168. OTRAS INFORMACIONES189. GENERACIN DEL SITIO WEB2010. INFORMES PARA ANALIZAR LA CALIDAD.2411. FICHERO DESCRIPTOR PARA FORMULA. POM.XML25

OBJETO DE ESTE DOCUMENTO

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

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 mavenhttp://maven.apache.org/download.htmlen 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 o- set PATH="c:\program files\maven-2.0.x\bin";%PATH%

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.

CREACIN DEL PROYECTO

Para crear el proyecto con estructura maven para Formul@ podemos hacerlo de dos formas.Usando el mecanismo de arquetipos de maven: El plugin archetype de maven es toolkit para creacin de platillas de proyectos.

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.

Una lista de archetypes disponibles se puede ver en esta url:http://docs.codehaus.org/display/MAVENUSER/Archetypes+ListUsando la siguiente instruccin con el archetype maven-archetype-webapp crearemos nuestro primer proyecto para maven.

mvnarchetype:create-DgroupId=com.viavansi-DartifactId=formula-Dpackaging=war-DarchetypeGroupId=org.apache.maven.archetypes-DarchetypeArtifactId=maven-archetype-webapp-Dversion=1.0-DarchetypeVersion=1.0En 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.artifacIdes 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.

groupIdes 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.

packagingindica el tipo de empaquetamiento que se usar con la aplicacin, en este caso war.

versionindica 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 repositoriohttp://www.ibiblio.org/maven2como se puede en la tabla anterior.Con esto tendremos una carpeta con la siguiente estructura:

El pom.xml inicial de nuestro proyecto es el siguiente:

4.0.0com.viavansiformulawar1.0formula Maven Webapphttp://maven.apache.orgjunitjunit3.8.1testformula

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.

ESTRUCTURA DEL PROYECTO MAVEN. MIGRACIN DE LOS CONtENIDOS.

Maven propone una estructura estndar de un proyecto:

En funcin del archetype que usemos esta estructura de carpetas puede cambiar. El proyecto se describe en su totalidad en el ficheropom.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/javaFicheros de cdigo fuente .java.

src/main/resourcesTodo 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 proyectos que se componen de varios subproyectos.

src/main/configFicheros de configuracin.

src/main/webappPginas y otros recursos como tags, applets, css, imgenes, ficheros js. y el fichero web.xml (en webapp/WEB-INF/web.xml).

src/test/javaCdigo fuente de las pruebas del proyecto.

src/test/resourcesRecursos para las pruebas.

src/test/filters *Filtros para las pruebas.

src/siteCarpeta 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.

targetEs 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.txtProyecto donde se describen las licencias usadas para el proyecto.

README.txtEl 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 posee en la carpeta /WEB-INF/lib.La clave esta en el mecanismo que usa maven para gestionar lasdependencias.

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.

DEFINICIN DE NUESTRAS DEPENDENCIAS.

Maven tiene un potente mecanismo degestin 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 resultadosmvn teste incluso ver los resultados en el sitio web que maven genera con informacin del proyecto.

junitjunit3.8.1test

Adems de los campos groupId, artifactId y versin que todos los proyectos en maven tienen. Al aadir la dependencia tenemos que decir el mbito. Los ms usados oncompileque sern todas aquellas libreras/proyectos que nuestro proyecto necesita par compilar, ytestcomo se ve en el ejemplo que indica que son libreras necesarias para ejecutar las pruebas.

En maven hay dos tipos de repositorios, losrepositorios 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 dentro del para cada librera de nuestro proyecto. En principio si ya hemos definido todas nuestras dependencia podramos compilar nuestro proyecto con un sencillomvn 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). ElartifactId, groupId y la versinson 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:http://www.mvnrepository.com/

http://www.javacio.us/

Tambien podemos usar la utilidad para adir dependencias de alguno de los plugins de eclipse para maven:http://m2eclipse.codehaus.org/

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:

Para instalar las dependenciasa en nustro repositorio local:

mvn -e install:install-file -Dfile=./target/myjar-1.0.jar-DgroupId=es.juntadeandalucia.cice-DartifactId=apiPropiaDeEjemplo-Dversion=1.0-Dpackaging=jar

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.

Viavansiviavansi-repohttp://srvrepositorio.junta-andalucia.es/repository/JuntaEnInternetviavansi-repohttp://srvrepositorio.junta-andalucia.es/repository/apache-repoapache-repohttp://myfaces.zones.apache.org/dist/maven-repositoryEnhttp://myfaces.zones.apache.org/dist/maven-repositorymaven encontrara las libreras de myfaces y tomahawk.

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.

com.viavansiviavansi-framework1.0.1compilecom.viavansiviavansi-firma1.0.1compilecom.viavansiviavansi-jsftools1.0.1compilecom.viavansifop0.92-viavansicompilees.juntadeandaluciatrewa1.3.1compilees.juntadeandaluciaApiFirmaCliente4.0compilees.juntadeandaluciaclientepfirma1.1.1compilejunitjunit3.8.1compileorg.apache.myfaces.coremyfaces-impl1.1.3compileorg.apache.myfaces.coremyfaces-api1.1.3compileorg.apache.myfaces.tomahawktomahawk1.1.3compilejavax.servletservlet-api2.4compilexmlbeansxbean2.1.0compilejavax.xmljaxrpc-api1.1compileorg.apache.axisaxis1.4compilebatikbatik-extension1.6compilejepjep2.24compiledwrdwr1.1.3compilegroovygroovy-all1.0-jsr-04compilecommons-iocommons-io1.2compileDespus de poner todas las dependencias si ejecutamosmvn compilemaven 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-repositoryy 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.

El caso es igual para la librera viavansi-firma-1.0.1.jar que se encuentra en el repositorio viavansi-repo.

EMPAQUETAMIENTO DEL PROYECTO.

Un proyecto se empaqueta mediante el comandomvn packagelo que crea un archivo con el tipo de empaquetamiento que pusimos en la etiqueta 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 que el tipo de empaquetamiento es ejb (hasta la versin 2.1) o ejb3 y al ejecutarmvn packagese creara el archivo .ejb o .ejb3 correspondiente en la carpetatargetdel 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

En el punto 7 explicaremos como se configuran los plugin.

PLUGINS DE MAVEN

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 esplugin:goalpero 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).

myapporg.apache.maven.pluginsmaven-scm-plugin1.0-beta-3

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:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formulascm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formulaOtro ejemplo sera el del pluginSiteque se usa para generar el portal maven para el proyecto.

org.apache.maven.pluginsmaven-site-plugines_ES

El plugin Site es el que usaremos para que maven cree automticamente un portal web con la informacin del proyecto. Con el comandomvn sitese crear una carpetatarge/sitecon 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'.

OTRAS INFORMACIONES

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:OrganizacinConsejeria de Medio Ambiente. Junta de Andalucahttp://www.cma.junta-andalucia.es/medioambiente/site/web/

ej2:Lista de distribucin de corro de Spring.Spring User Listhttp://sourceforge.net/mailarchive/forum.php?forum_id=30287

ej3:Desarrolladores.jechaverriaJavier Echeverria [email protected] de proyectosAnalistaViavansi+1

ej4:Contribuciones XXX XXX XXX

GENERACIN DEL SITIO WEBUno 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 ficherosite.xmlque junto con la informacin del pom.xml se usar para 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:

siteContiene el site.xml que define la estructura del portal

site/aptEsta 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/fmlEsta carpeta contiene ficheros de formato FAQ. Un formato xml simple para gestin de FAQs.

site/xdocEsta 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 enAlfrescojunto con las que genera maven.

site/resourcesAqu 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:

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

site.xml

F@rmula. Consejera de Medio Ambiente/images/cab_formula.gifhttp://www.juntadeandalucia.es/repositorio/images/logoviavansi.gifhttp://www.viavansi.com/

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 ejecutarmvn sitenos genera una carpeta con el sitio web completo bajo la rutatarget/sitela cual podemos ver en la siguiente imagen.

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.

INFORMES PARA ANALIZAR LA CALIDAD.

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 laspruebas 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.

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.

FICHERO DESCRIPTOR PARA FORMULA. POM.XML

4.0.0com.viavansiformulawarFormula1.0http://maven.apache.orgborregoFelix G. [email protected]+1jechaverriaJavier Echeverria [email protected] de proyectosAnalistaViavansi+1jorgeJorge Torres [email protected]+1lcruzLuis Migel Cruz [email protected]+1mnavarroManuel Navarro [email protected]+1Consejeria de Medio Ambiente. Junta de Andalucahttp://www.cma.junta-andalucia.es/medioambiente/site/web/scm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formulascm:svn:http://RepositorioDeEntrega/repos/formula/tags/1.0.0/formula

deployEnLocaldeployEnLocalfile:///home/felipe/alfresco/tomcat/webapps/formula_v2.war

formulaorg.codehaus.mojoxmlbeans-maven-pluginxmlbeanstruesrc/main/xsdmaven-eclipse-plugin2.21.0maven-compiler-plugin1.41.4org.apache.maven.pluginsmaven-scm-plugin1.0-beta-3install${basedir}/srcorg.apache.maven.pluginsmaven-site-plugines_ESes_ESes_ESISO-8859-1ISO-8859-1ISO-8859-1org.codehaus.mojocobertura-maven-plugincleancleanorg.apache.maven.pluginsmaven-scm-plugin1.0-beta-3install${basedir}/srcorg.apache.maven.pluginsmaven-site-plugines_ESorg.codehaus.mojocobertura-maven-plugincleanclean

viavansi-repoviavansi-repofile:///home/felipe/Proyectos/formula_v2/repositoriodefaultdefaultfile:///home/felipe/.m2/repositoryapache-repoapache-repohttp://myfaces.zones.apache.org/dist/maven-repositorycom.viavansiviavansi-framework1.0.1compilecom.viavansiviavansi-firma1.0.1compilecom.viavansiviavansi-jsftools1.0.1compilecom.viavansifop0.92-viavansicompilees.juntadeandaluciatrewa1.3.1compilees.juntadeandaluciaApiFirmaCliente4.0compilees.juntadeandaluciaclientepfirma1.1.1compilejunitjunit3.8.1compileorg.apache.myfaces.coremyfaces-impl1.1.3compileorg.apache.myfaces.coremyfaces-api1.1.3compileorg.apache.myfaces.tomahawktomahawk1.1.3compilejavax.servletservlet-api2.4compilexmlbeansxbean2.1.0compilejavax.xmljaxrpc-api1.1compileorg.apache.axisaxis1.4compilebatikbatik-extension1.6compilejepjep2.24compiledwrdwr1.1.3compilegroovygroovy-all1.0-jsr-04compilecommons-iocommons-io1.2compileorg.apache.maven.pluginsmaven-project-info-reports-pluginorg.apache.maven.pluginsmaven-compiler-plugin1.51.5org.apache.maven.pluginsmaven-surefire-report-pluginorg.apache.maven.pluginsmaven-site-pluginorg.apache.maven.pluginsmaven-jxr-pluginorg.apache.maven.pluginsmaven-pmd-pluginorg.apache.maven.pluginsmaven-checkstyle-pluginconfig/maven_checks.xmlorg.codehaus.mojotaglist-maven-pluginTODO@todoFIXME@fixmetodo@[email protected]

Ejemplo del uso de Maven

Uso de maven tomando la aplicacin Formul@ como ejemplo

Ejemplo_del_uso_Maven.odt

Ejemplo del uso de MavenRevisin 1.0

Creado por:Javier Echeverra Usalt. edicin por:Fecha creacin:18/01/2007 08:21Fecha ltima edicin:22/01/2006 08:01Pgina