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

Modelos de Projeto Maven

O Maven usa archetype (原型) para criar uma estrutura de projeto personalizada, formando um modelo de projeto Maven.

Nos capítulos anteriores, aprendemos que o Maven usa a seguinte comando para criar projetos java rapidamente:

mvn archetype:generate

O que é archetype?

O archetype, ou原型,é um plugin Maven, exatamente um modelo de projeto, cuja tarefa é criar uma estrutura de projeto com base no modelo. Vamos usar o plugin archetype quickstart para criar uma aplicação java simples.

Uso do modelo de projeto

Vamos abrir o console de comando, mover para o diretório C:\> MVN e executar o seguinte comando mvn:

C:\MVN> mvn archetype:generate

O Maven começará a processar e exigirá a seleção do archetype desejado:

[INFO] Escaneando por projetos...
[INFO] Pesquisando repositório para plugin com prefixo: 'archetype'.
[INFO] -------------------------------------------------------------------
[INFO] Construção do Projeto Maven Padrão
[INFO] tarefa-segmento: [archetype:generate] (agregador-estilo)
[INFO] -------------------------------------------------------------------
[INFO] Preparando archetype:generate
...
600: remoto -> org.trailsframework:trails-protótipo (-)
601: remote -> org.trailsframework:trails-seguro-protótipo (-)
602: remote -> org.tynamo:tynamo-protótipo (-)
603: remote -> org.wicketstuff.scala:wicket-scala-protótipo (-)
604: remote -> org.wicketstuff.scala:wicketstuff-scala-arquitetura 
Configuração básica para um projeto que combina Scala e Wicket
dependendo do Wicket-Projeto Scala. 
Inclui um exemplo de teste Specs.)
605: remote -> org.wikbook:wikbook.archetype (-)
606: remote -> org.xaloon.archetype:xaloon-arquitetura-wicket-jpa-glassfish (-)
607: remote -> org.xaloon.archetype:xaloon-arquitetura-wicket-jpa-spring (-)
608: remote -> org.xwiki.commons:xwiki-commons-componente-arquitetura 
(Torna fácil criar um projeto Maven para criar Componentes do XWiki.)
609: remote -> org.xwiki.rendering:xwiki-renderização-arquitetura-macro 
(Torna fácil criar um projeto Maven para criar Macros de Renderização do XWiki.)
610: remote -> org.zkoss:zk-arquitetura-componente (O protótipo ZK Component)
611: remote -> org.zkoss:zk-arquitetura-webapp (O protótipo ZK wepapp)
612: remote -> ru.circumflex:circumflex-protótipo (-)
613: remote -> se.vgregion.javg.maven.archetypes:javg-mínimo-protótipo (-)
614: remote -> sk.seges.sesam:sesam-anotação-protótipo (-)
Escolha um número ou aplique um filtro 
(formato: [groupId:]artifactId, sensível a maiúsculas e minúsculas): 203:

Pressione Enter Escolha a opção padrão (203:maven-arquitetura-quickstart).

O Maven perguntará a versão do protótipo

Escolha org.apache.maven.archetypes:maven-arquitetura-versão quickstart:
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
Escolha um número: 6:

Pressione Enter Escolha a opção padrão (6:maven-arquitetura-quickstart:1.1)

O Maven perguntará detalhes do projeto. Digite os detalhes do projeto conforme solicitado. Se desejar usar os valores padrão, pressione Enter. Você também pode inserir seus próprios valores.

Defina o valor para a propriedade 'groupId': : com.companyname.insurance
Defina o valor para a propriedade 'artifactId': : health
Defina o valor para a propriedade 'version': 1.0-SNAPSHOT
Defina o valor para a propriedade 'package': com.companyname.insurance

O Maven solicitará a confirmação dos detalhes do projeto, pressione}} Enter ou pressione Y

Confirme a configuração das propriedades:
groupId: com.companyname.insurance
artifactId: health
version: 1.0-SNAPSHOT
package: com.companyname.insurance
Y:

Agora o Maven começará a criar a estrutura do projeto, conforme mostrado a seguir:

[INFO] -----------------------------------------------------------------------
[INFO] Usando os seguintes parâmetros para criar o projeto 
a partir do Antigo (1.x) Arquétipo: maven-arquitetura-quickstart:1.1
[INFO] -----------------------------------------------------------------------
[INFO] Parâmetro: groupId, Valor: com.companyname.insurance
[INFO] Parâmetro: packageName, Valor: com.companyname.insurance
[INFO] Parâmetro: package, Valor: com.companyname.insurance
[INFO] Parâmetro: artifactId, Valor: health
[INFO] Parâmetro: basedir, Valor: C:\MVN
[INFO] Parâmetro: versão, Valor: 1.0-SNAPSHOT
[INFO] Projeto criado a partir do Antigo (1.x) Arquétipo em dir: C:\MVN\health
[INFO] -----------------------------------------------------------------------
[INFO] CONSTRUÇÃO SUCESSO
[INFO] -----------------------------------------------------------------------
[INFO] Tempo Total: 4 minutos 12 segundos
[INFO] Concluído em: Sex Jul 13 11:10:12 IST 2012
[INFO] Memória Final: 20M/90M
[INFO] -----------------------------------------------------------------------

Projeto criado

Agora, mude para o diretório C:\ > MVN. Você verá um projeto de aplicação Java chamado health, como o nome do artifactId foi estabelecido no momento da criação do projeto. O Maven criará um projeto com layout de diretórios padrão, conforme mostrado a seguir:

Criar pom.xml

O Maven gerará automaticamente um arquivo pom.xml para o projeto, conforme mostrado a seguir:

<project xmlns="http:<///maven.apache.org/POM/4.0.0" 
  xmlns:xsi="http:<///www.w3.org/2001/XMLSchema-instance
  xsi:schemaLocation="http:<///maven.apache.org/POM/4.0.0 
  http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0/modelVersion>
  <groupId>com.companyname.insurance<//groupId>
  <artifactId>health<//artifactId>
  <version>1.0-SNAPSHOT/version>
  <packaging>jar<//packaging>
  <name>health<//name>
  <url>http:<///maven.apache.org<//url>
  <properties>
     <project.build.sourceEncoding>UTF</-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
     <dependency>
     <groupId>junit<//groupId>
        <artifactId>junit<//artifactId>
        <version>3.8.1</version>
        <scope>test<//scope>
     </dependency>
  </dependencies>
</project>

App.java

O Maven gerará automaticamente um arquivo java de teste chamado App.java.

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

package com.companyname.insurance;
 
/**
* Hello world!
*
*/
public class App 
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

AppTest.java

O Maven gerará automaticamente um arquivo java AppTest.java.

O caminho é: C:\MVN\consumerBanking\src\test\java\com\companyname\bank

package com.companyname.insurance;
 
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
 
/**
* Teste Unitário para uma Simples App.
*/
public class AppTest 
   extends TestCase
{
   /**
   * Crie o caso de teste
   *
   * @param testName nome do caso de teste
   */
  public AppTest(String testName)
  {
      super(testName);
  }
 
  /**
  * @return a suite de testes sendo testada
  */
  public static Test suite()
  {
      return new TestSuite(AppTest.class);
  }
 
  /**
  * Teste Rigoroso:-)
  */
  public void testApp()
  {
      assertTrue( true );
  }
}

Assim. Agora você pode ver a força do Maven. Você pode usar comandos simples do maven para criar qualquer tipo de projeto e pode começar seu desenvolvimento.