DEV Community

Beatriz Maciel
Beatriz Maciel

Posted on

Maven e suas funcionalidades

O que é o Maven?

O Apache Maven é uma excelente ferramenta de apoio a qualquer equipe que trabalhe com projetos Java (outras tecnologias também são suportadas), fornecendo aos desenvolvedores uma forma de automatizar e padronizar a construção e publicação de suas aplicações. (fonte: DevMedia)

  • ´groupId´ ➟ organização / compania
  • ´artifactId´ ➟ o que está implementando
  • ´build´ ➟ onde adiciona os executáveis]
  • ´plugin´ ➟ no aem precisamos de um plug-in pra fazer o deploy dentro do AEM
  • ´bnd´ ➟ empacotador de bundles, transformar o .jar em uma estrutura de bundle OSGi

Lifecycle do Maven

Lifecycle do Maven

Ordem de execução

  1. Processa primeiro recursos (preparando os arquivos, fazendo as cópias para uma pasta específica)
  2. Compila as classes Java
  3. Processamento das classes
  4. Repete os três primeiros processos, mas com processamento focado nos testes. Ele compila e roda os testes.
  5. Empacotamento jar.

Lifecycle do Maven II

  1. No integration test, roda-se os testes de integração. Como o pacote jar já estará criado ou até mesmo em execução, esse momento serve para executar testes de integração, como testes de workflow ou de performance. Isso só é possível porque outras funcionalidades já terão sido testadas no nível de teste superior.
  2. O Verify executa todos os passos até o dado momento e verifica se a compilação e o teste está apropriado.
  3. A Instalação acontece pegando o jar que foi compilado e guardando dentro da pasta .m2* e instalando localmente ou
  4. O Deploy (é paralelo ao deploy, não consecutivo) serve para instalar em um repositório remoto (Nexus – no maven central).

=======

Em um projeto Maven, o esquema padrão de pastas é o seguinte:

Pastas do Projeto Maven

Acessamos src e, dentro dele, temos as pastas main e test. Main compila e processa classes e test compila e processa testes. Ambos contam com arquivos java e properties.

A pasta target é o destino de toda a compilação do maven. Tudo o que for feito é encaminhado para esta pasta.

=======

  • .m2 é a pasta para instalação

☆ Atenção: Install e Deploy não são executados ao mesmo tempo, são independentes e finais no ciclo de vida do Maven.

Discussion (0)