Páginas

jueves, 1 de mayo de 2014

Generar un arquetipo maven a partir del proyecto actual

Hola


Hoy vamos a comentar cómo generar un arquetipo maven de forma rápida a partir de un proyecto existente. Los pasos a dar son los siguientes:

1) Nos colocamos en el directorio del pom.xml del proyecto

2) Lanzamos el comando:

   mvn archetype:create-from-project

3) El arquetipo queda en la ubicación:

   target\generated-sources\archetype


4) Nos movemos a la ubicación del arquetipo y vemos que la estructura del arquetipo es:

  • pom.xml
  • src/
  • target/
5) Lanzamos mvn clean para limpiar la carpeta target

6) En la carpeta src/main/resources tenemos dos archivos importantes:
  • archetype-resources. Es la plantilla del proyecto que se generará cuando se ejecute el arquetipo
  • META-INF/maven. Contiene el fichero archetype-metadata.xml donde podremos definir las propiedades que se solicitarán para los proyectos generados con el arquetipo.
7) Por ejemplo lo editamos y añadimos las propiedades: groupid, artifactId, package y version.

    <requiredProperties>
        <requiredProperty key="groupId">
            <defaultValue>org.dune.casa</defaultValue>
        </requiredProperty>
        <requiredProperty key="artifactId">

           <defaultValue>test</defaultValue>
        </requiredProperty>
         <requiredProperty key="version">
            <defaultValue>1.0-SNAPSHOT</defaultValue>
        </requiredProperty>
        <requiredProperty key="package">
            <defaultValue>
org.dune.casa</defaultValue>
        </requiredProperty>
    </requiredProperties>


8) Ajustaremos el contenido de 'archetype-resources', donde veremos un pom.xml y los diferentes módulos del proyecto (__rootArtifactId__-core, __rootArtifactId__-web, __rootArtifactId__-batch, __rootArtifactId__-ws, etc). hay dos clases de ajustes:
  • Meter comodines del tipo '__rootArtifactId__' como nombre o parte del nombre de las carpetas que se deseen personalizar.
  • Meter comodines del tipo ${package}, ${parentArtifactId}, etc, en clases y ficheros de configuración.
9) Para instalar el nuestro repositorio local (.m2) el arquetipo lanzamos:

mvn clean install


Si ahora queremos generar un nuevo proyecto basado el en arquetipo debemos seguir estos pasos:

1) Nos vamos a una nueva carpeta como por ejemplo:

cd $HOME/wks-juno/wksTestArquetipo


2) Lanzamos el comando

mvn archetype:generate -DarchetypeGroupId=org.dune.casa -DarchetypeArtifactId=nombre-archetype -DarchetypeVersion=1.0 -DgroupId=org.dune.casa -DartifactId=nombre-proyecto

Eso es todo

No hay comentarios:

Publicar un comentario