Criando nosso primeiro projeto Maven

Introdução

Vamos criar um projeto utilizando a ferramenta de linha de comando do maven. A ferramenta poderá ser baixada diretamente de https://maven.apache.org/download.cgi. Descompacte esta pasta, e configure a variável PATH para acessar a pasta bin do conteúdo que você descompactou.

O que é o Maven?

O Maven é uma ferramenta de gerenciamento de dependências e do ciclo de vida de projetos de software no sentido técnico. Isso inclui:

  • Facilitar a compilação do código, o empacotamento (JAR, WAR, EAR, …), a execução de testes unitários, etc.
  • Unificar e automatizar o processo de geração do sistema. Nada mais de uma coleção de passos e scripts a serem executados manualmente.
  • Centralizar informações organizadas do projeto, incluindo suas dependências, resultados de testes, documentação, etc.
  • Reforçar boas práticas de desenvolvimento, tais como: separação de classes de teste das classes do sistema, uso de convenções de nomes e diretórios, etc.
  • Ajuda no controle das versões geradas (releases) dos seus projetos.

Começando

Um artefato é geralmente um arquivo JAR que fica no repositório do Maven. Podemos entender cada artefato identificando os seguintes elementos:

groupId: normalmente é utilizado o nome do domínio do desenvolvedor/empresa criadora do artefato.
artefactId: geralmente é o nome do projeto. Ele deve ser único por grupo.
version: a versão do artefato, como 1.4.2 ou 3.0. Se houver o sufixo -SNAPSHOT (0.0.1-SNAPSHOT, por exemplo) significa que o projeto está em desenvolvimento e o pacote pode ser alterado.
packaging: jar, war, ear, pom (projeto de configuração).

Utilize o comando abaixo para criar o nosso primeiro artefato.

[code language=”text”]
mvn archetype:generate \
-DgroupId=br.com.marcelferry.workshop \
-DartifactId=maven-simple-example \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
[/code]

No comando que acima, nós criamos um projeto definindo o grupo e o nome do artefato. A versão como não foi informada, será definida como 1.0.0-SNAPSHOT.

Este artefato terá sua estrutura com base no arquétipo de inicio rápido que nos dará uma classe br.com.marcelferry.workshop.App e um caso de teste br.com.marcelferry.workshop.AppTest. Você pode personalizar o parâmetro -DgroupId e -DartifactId e -Dversion.

No Eclipse

Vamos criar um novo projeto no Eclipse. Acesse o menu File > New > Maven Project.

Selecione a opção Create a simple project (skip archetype selection) e clique clique em Next >.

Vamos preencher a identificação do projeto, que nada mais é do que a identificação de um artefato.

O Group Id para o exemplo será br.com.starcode e o Artifact Id será teste-maven-01. A versão e o tipo de artefato (Packaging) já devem estar preenchidos, então simplesmente deixe como está. O nome e a descrição são opcionais.

Clique em Finish para ver o projeto criado.

Note que ele ainda não está definido com as configurações de um projeto Java, então clique com o botão direito sobre o projeto, acesse o menu Maven > Update Project….

Clique em OK para atualizar o projeto com as configurações do Maven e agora temos a estrutura característica.

Compilado, empacotando e executando

Agora, acessamos a pasta criada, cd maven-simple-example, e executamos uma limpeza no projeto, utilizando mvn clean, o goal clean, apaga a pasta target, que contém todos os arquivos gerados durante o ciclo de vida de build.

Após o processo de limpeza, vamos executar mvn package, que será responsável por gerar o pacote de acordo com a configuração do pom.xml.

No caso de sucesso o nosso pacote estará compilado e disponível para execução.

[code language=”text”]
java -cp target/maven-simple-example-1.0-SNAPSHOT.jar br.com.marcelferry.workshop.App
[/code]

Para conhecimento, o maven disponibiliza um comando que gera uma documentação em html. Podemos utilizar o comando mvn site, que disponibilizará esse conteúdo na pasta target/site, que poderá ser acessado via browser.

Repositório local

É um diretório em seu PC onde os artefatos são armazenados após baixados de um repositório remoto na internet ou na intranet.

O repositório possui uma estrutura padrão onde o Maven consegue encontrar os artefatos através da identificação do mesmo.

Como vimos, o nosso pacote foi corretamente compilado, mas não estará disponível para ser utilizado pelos demais projetos que poderemos construir. Para instalar ele em nosso repositório local, por padrão localizado na pasta ~/.m2, precisaremos utilizar o seguinte comando: mvn install.


Follow @marcelferry

Leave a Reply

Pin It on Pinterest