Plantilla de proyectos Maven
Maven utiliza archetype (arquetipo) para crear estructuras de proyecto personalizadas, formando plantillas de proyectos Maven.
En los capítulos anteriores aprendimos que Maven usa el siguiente comando para crear rápidamente un proyecto Java:
mvn archetype:generate
¿Qué es archetype?
archetype, es decir, el arquetipo, es un plugin de Maven, más precisamente una plantilla de proyecto, cuya tarea es crear una estructura de proyecto basada en la plantilla. Usaremos el plugin de arquetipo quickstart para crear una aplicación Java simple.
Uso de plantillas de proyectos
Abre la consola de comandos, cambia al directorio C:\> MVN y ejecuta el siguiente comando mvn:
C:\MVN> mvn archetype:generate
Maven comenzará a procesar y le pedirá que seleccione el arquetipo deseado:
[INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'archetype'. [INFO] ------------------------------------------------------------------- [INFO] Building Maven Default Project [INFO]task-segment: [archetype:generate] (aggregator-style) [INFO] ------------------------------------------------------------------- [INFO] Preparing archetype:generate ... 600: remote -> org.trailsframework:trails-archetype (-) 601: remote -> org.trailsframework:trails-secure-archetype (-) 602: remote -> org.tynamo:tynamo-archetype (-) 603: remote -> org.wicketstuff.scala:wicket-scala-archetype (-) 604: remote -> org.wicketstuff.scala:wicketstuff-scala-archetype Basic setup for a project that combines Scala and Wicket, depending on the Wicket-Scala project. Includes an example Specs test.) 605: remote -> org.wikbook:wikbook.archetype (-) 606: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-glassfish (-) 607: remote -> org.xaloon.archetype:xaloon-archetype-wicket-jpa-spring (-) 608: remote -> org.xwiki.commons:xwiki-commons-component-archetype (Make it easy to create a maven project for creating XWiki Components.) 609: remote -> org.xwiki.rendering:xwiki-rendering-archetype-macro (Make it easy to create a maven project for creating XWiki Rendering Macros.) 610: remote -> org.zkoss:zk-archetype-component (The ZK Component archetype) 611: remote -> org.zkoss:zk-archetype-webapp (The ZK wepapp archetype) 612: remote -> ru.circumflex:circumflex-archetype (-) 613: remote -> se.vgregion.javg.maven.archetypes:javg-minimal-archetype (-) 614: remote -> sk.seges.sesam:sesam-annotation-archetype (-) Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 203:
PresionaEnterSelecciona la opción predeterminada (203:maven-archetype-quickstart).
Maven preguntará por la versión del arquetipo
Choose org.apache.maven.archetypes:maven-archetype-quickstart version: 1: 1.0-alpha-1 2: 1.0-alpha-2 3: 1.0-alpha-3 4: 1.0-alpha-4 5: 1.0 6: 1.1 Choose a number: 6:
PresionaEnterSelecciona la opción predeterminada (6:maven-archetype-quickstart:1.1).
Maven preguntará por los detalles del proyecto. Ingresa los detalles del proyecto como se solicita. Si deseas usar los valores predeterminados, presiona Enter directamente. También puedes ingresar tus propios valores.
Define value for property 'groupId': : com.companyname.insurance Define value for property 'artifactId': : health Define value for property 'version': 1.0-SNAPSHOT Define value for property 'package': com.companyname.insurance
Maven pedirá confirmación de los detalles del proyecto, presionaEntero presiona Y
Confirm properties configuration: groupId: com.companyname.insurance artifactId: health version: 1.0-SNAPSHOT package: com.companyname.insurance Y:
Ahora Maven comenzará a crear la estructura del proyecto, como se muestra a continuación:
[INFO] ----------------------------------------------------------------------- [INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1 [INFO] ----------------------------------------------------------------------- [INFO] Parameter: groupId, Value: com.companyname.insurance [INFO] Parameter: packageName, Value: com.companyname.insurance [INFO] Parameter: package, Value: com.companyname.insurance [INFO] Parameter: artifactId, Value: health [INFO] Parameter: basedir, Value: C:\MVN [INFO] Parameter: version, Value: 1.0-SNAPSHOT [INFO] project created from Old (1.x) Archetype in dir: C:\MVN\health [INFO] ----------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ----------------------------------------------------------------------- [INFO] Total time: 4 minutes 12 seconds [INFO] Finished at: Fri Jul 13 11:10:12 IST 2012 [INFO] Final Memory: 20M/90M [INFO] -----------------------------------------------------------------------
El proyecto creado
Ahora ve al directorio C:\ > MVN. Verás un proyecto de aplicación Java llamado health, igual que el nombre del artifactId establecido al crear el proyecto. Maven creará un proyecto con una estructura de directorios estándar, como se muestra a continuación:

Crear pom.xml
Maven genera automáticamente un archivo pom.xml para el proyecto, como se muestra a continuación:
App.java
Maven generará automáticamente un archivo Java de prueba, App.java.
Ruta:C:\MVN\consumerBanking\src\main\java\com\companyname\bank
AppTest.java
Maven generará automáticamente un archivo Java, AppTest.java.
La ruta es:C:\MVN\consumerBanking\src\test\java\com\companyname\bank
¡Y listo! Ahora puedes ver el poder de Maven. Puedes usar los sencillos comandos de Maven para crear cualquier tipo de proyecto y comenzar tu desarrollo.
Otras extensiones