English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Plantilla de proyecto de Maven

Maven utiliza el esquema (prototipo) para crear una estructura de proyecto personalizada, formando un modelo de proyecto de Maven.

En los capítulos anteriores aprendimos que Maven utiliza el siguiente comando para crear proyectos java rápidamente:

mvn esquema:generar

¿Qué es un esquema?

El esquema, también conocido como prototipo, es un plugin de Maven, más específicamente una plantilla de proyecto, cuyo objetivo es crear una estructura de proyecto basada en la plantilla. Usaremos el plugin de esquema quickstart para crear una aplicación java simple.

Uso de plantilla de proyecto

Vamos a abrir la consola de comandos, cambiar al directorio C:\> MVN y ejecutar el siguiente comando mvn:

C:\MVN> mvn esquema:generar

Maven comenzará a procesar y requerirá seleccionar el esquema necesario:

[INFO] Escaneando proyectos...
[INFO] Buscando en el repositorio un plugin con prefijo: 'esquema'.
[INFO] -------------------------------------------------------------------
[INFO] Construyendo proyecto predeterminado de Maven
[INFO] tarea-segmento: [generación de esquema:generate] (agregador-estilo)
[INFO] -------------------------------------------------------------------
[INFO] Preparando generación de esquema
...
600: remoto -> org.trailsframework:trails-archetype (-)
601: remote -> org.trailsframework:trails-seguro-archetype (-)
602: remote -> org.tynamo:tynamo-archetype (-)
603: remote -> org.wicketstuff.scala:wicket-scala-archetype (-)
604: remote -> org.wicketstuff.scala:wicketstuff-scala-arquitecto 
Configuración básica para un proyecto que combina Scala y Wicket
dependiendo de Wicket-Proyecto en Scala. 
Incluye una prueba de specs de ejemplo.)
605: remote -> org.wikbook:wikbook.archetype (-)
606: remote -> org.xaloon.archetype:xaloon-arquitecto-wicket-jpa-glassfish (-)
607: remote -> org.xaloon.archetype:xaloon-arquitecto-wicket-jpa-spring (-)
608: remote -> org.xwiki.commons:xwiki-commons-component-arquitecto 
(Make it easy to create a maven project for creating XWiki Components.)
609: remote -> org.xwiki.rendering:xwiki-rendering-arquitecto-macro 
(Make it easy to create a maven project for creating XWiki Rendering Macros.)
610: remote -> org.zkoss:zk-arquitecto-component (The ZK Component archetype)
611: remote -> org.zkoss:zk-arquitecto-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:

Press Ingrese Select the default option (203:maven-arquitecto-quickstart).

Maven will ask for the archetype version

Choose org.apache.maven.archetypes:maven-arquitecto-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:

Press Ingrese Select the default option (6:maven-arquitecto-quickstart:1.1)

Maven will ask for project details. Enter the project details as required. If you want to use the default values, just press Enter key. You can also enter your own values.

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 requerirá la confirmación de los detalles del proyecto, pulse Ingrese o presione Y

Confirmar la configuración de propiedades:
groupId: com.companyname.insurance
artifactId: health
versión: 1.0-SNAPSHOT
paquete: com.companyname.insurance
Y:

Ahora Maven comenzará a crear la estructura del proyecto, como se muestra a continuación:

[INFO] -----------------------------------------------------------------------
[INFO] Usando los siguientes parámetros para crear el proyecto 
desde el viejo (1.x) Arquitecto: maven-arquitecto-quickstart:1.1
[INFO] -----------------------------------------------------------------------
[INFO] Parámetro: groupId, Valor: com.companyname.insurance
[INFO] Parámetro: nombrePaquete, Valor: com.companyname.insurance
[INFO] Parámetro: paquete, Valor: com.companyname.insurance
[INFO] Parámetro: artifactId, Valor: health
[INFO] Parámetro: base de directorio, Valor: C:\MVN
[INFO] Parámetro: versión, Valor: 1.0-SNAPSHOT
[INFO] Proyecto creado desde el viejo (1.x) Arquitecto en dir: C:\MVN\health
[INFO] -----------------------------------------------------------------------
[INFO] CONSTRUCCIÓN EXITOSA
[INFO] -----------------------------------------------------------------------
[INFO] Tiempo total: 4 minutos 12 segundos
[INFO] Finalizado en: Jue Jul 13 11:10:12 IST 2012
[INFO] Memoria final: 20M/90M
[INFO] -----------------------------------------------------------------------

Proyecto creado

Ahora se cambia a la carpeta C:\ > MVN. Verás un proyecto de aplicación java llamado health, como el nombre de artifactId que se creó en el momento de la creación del proyecto. Maven creará un proyecto con una disposición 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:

<proyecto xmlns="http://maven.apache.org/POM/4.0.0" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instancia
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <versión_modelo>4.0.0/>versión_modelo<
  <grupo_id>com.companyname.insurance</>grupo_id<
  <id_artefacto>salud</>id_artefacto<
  <versión>1.0-SNAPSHOT/>versión<
  <empaquetado>jar</>empaquetado<
  <nombre>salud</>nombre<
  <url>http://maven.apache.org</>url<
  <propiedades>
     <codificación_fuente_proyecto>UTF-8</>codificación_fuente_proyecto<
  </>propiedades<
  <dependencias>
     <dependencia>
     <grupo_id>junit</>grupo_id<
        <id_artefacto>junit</>id_artefacto<
        <versión>3.8.1</>versión<
        <alcance>prueba</>alcance<
     </>dependencia<
  </>dependencias<
</>proyecto<

App.java

Maven generará automáticamente un archivo java de prueba llamado App.java.

Ruta:C:\MVN\consumerBanking\src\main\java\com\companyname\bank

paquete com.companyname.insurance;
 
/**
* ¡Hola mundo!
*
*/
public class App 
{
    public static void main(String[] args)
    {
        System.out.println("¡Hola Mundo!");
    }
}

AppTest.java

Maven generará automáticamente un archivo java AppTest.java.

La ruta es: C:\MVN\consumerBanking\src\test\java\com\companyname\bank

paquete com.companyname.insurance;
 
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
 
/**
* Prueba unitaria para la aplicación simple.
*/
public class AppTest 
   extends TestCase
{
   /**
   * Crear el caso de prueba
   *
   * @param testName nombre de la prueba de caso
   */
  public AppTest( String testName )
  {
      super( testName );
  }
 
  /**
  * @return la suite de pruebas que se están probando
  */
  public static Test suite()
  {
      return new TestSuite( AppTest.class );
  }
 
  /**
  * Prueba rigurosa:-)
  */
  public void testApp()
  {
      assertTrue( true );
  }
}

Así es. Ahora puedes ver la fuerza de Maven. Puedes usar comandos simples de maven para crear cualquier tipo de proyecto y comenzar tu desarrollo.