29 de mar. de 2011

Dicas para usar templates de projetos pré-configurados no Maven - Maven Archetypes

Sempre quando iniciamos um novo projeto precisamos passar pelos mesmos pontos, definindo características e configurações as quais serão responsáveis pelo ciclo de vida de criação do projeto.
Por que não reaproveitar isto? Pois é, isto é possível através do uso de Templates de Projeto,
conhecidos como Maven Archetypes.


Praticamente existe um template para cada tipo específico de projeto:

Para ver a lista de possíveis templates já existentes execute o comando:

mvn archetype:generate

Veja que no final é possível selecionar um template como exemplo para prosseguir.

Existe uma lista enorme de possíveis templates porém vou falar rapidamente apenas de alguns dos principais:


  • maven-archetype-j2ee-simple- Template para um projeto J2EE simples.
  • maven-archetype-portlet -Template que contém exemplo para JSR-268 Portlet.
  • maven-archetype-quickstart - Um template que contém um exemplo de um projeto maven.
  • maven-archetype-simple - Um template para um projeto simples.
  • maven-archetype-site - Um template que contém um exeplo de um Maven site o qual demonstra alguns dos documentos suportados, tais como APT, XDoc, and FML e demonstra como usar internacionalização em seu site.
  • maven-archetype-webapp - Exemplo para criação de um projeto web.


Caso não queira selecionar de uma lista você pode simplesmente executar a geração do projeto informando um template específico:

mvn archetype:create -DgroupId=br.com.projeto.exemplo -DartifactId=projeto-web -DarchetypeArtifactId=maven-archetype-webapp

Ao executar esta linha acima o maven irá criar um projeto chamado projeto-web baseado no template maven-archetype-webapp.

Este template cria a seguinte estrutura:

  • projeto-web
  • pom.xml
  • projeto-web/src/main/resources
  • projeto-web/src/main/webapp/index.jsp
  • projeto-web/src/main/webapp/WEB-INF\web.xml


Fácil não? Sugiro que teste outros templates e veja como funciona!

Para maiores informações visite os links:
http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
http://maven.apache.org/archetype/maven-archetype-plugin/usage.html
Pesquisa personalizada

3 comentários:

  1. Voce sabe como disponibilizar este archetype num repositorio como o archiva?

    ResponderExcluir
  2. Olá ainda não usei a disponibilização de archetype em um repositório remoto porém veja o link e veja se ajuda.

    Assim que for possível estarei criando um passo a passo para isto.
    http://maven.apache.org/plugins/maven-deploy-plugin/

    ResponderExcluir
  3. Muito bom este blog!

    Preciso aprender o maven (utilizo Eclise, Ant e Subversion) e nas pesquisas do Google caí aqui, estou lendo os posts desde o primeiro!

    Sobre este post, parece que é possível que nós criemos archetypes/templates (se um dos 755 não te atender) próprios, certo?

    Abraços,

    Henrique Santos

    ResponderExcluir

Leia as regras:
Todos os comentários são lidos e moderados previamente.
Apenas os que respeitam as regras abaixo serão publicados:
- o comentário deve estar relacionado ao assunto do post
- não serão aceitos palavrões e ofensas ao redator do blog ou a terceiros
- não inclua links desnecessários no conteúdo do comentário
- se quiser deixar sua url, comente com a opção OpenId
Obs.: os comentários dos leitores não refletem a opnião do blog.