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