Baseado nos cursos da Softblue
O Maven
- O Maven é um projeto da Apache
– Open source
- Objetivos principais
– Gerenciamento de build
– Geração de relatórios
– Geração de documentação
- Baseado no conceito de POM
– Project Object Model
Funcionamento do Maven:
Estrutura de um projeto Maven
- O Maven define uma estrutura base para os projetos Java
O arquivo pom.xml
- Descreve as características do projeto, dependências, plug-ins a serem executados, etc.
1
2
3
4
5
6
<project>
<modelVersion>1.0.0</modelVersion>
<groupId>dev.joaonogueira</groupId>
<artifactId>example</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
- Conceitos
– Group ID
1
• Normalmente referencia a empresa
– Artifact ID
1
• Nome do artefato ou projeto
– Version
1
• Versão do artefato
Gerenciamento de dependências
- O Maven é capaz de gerenciar dependências de outros artefatos de forma automática
– JARs
– Projetos
- O arquivo pom.xml define a dependência
– A dependência é baixada do repositório central e fica armazenada no repositório local
– Dependências transitivas também são resolvidas automaticamente
– O projeto passa a referenciar o artefato
- Exemplo de dependência da API
Apache Commons I/O
1
2
3
4
5
6
7
8
9
10
11
12
13
<project>
<modelVersion>1.0.0</modelVersion>
<groupId>dev.joaonogueira</groupId>
<artifactId>example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</project>
Repositório central do Maven
- O gerenciamento de dependências funciona com base em um repositório central
– Os artefatos ficam todos disponibilizados neste repositório
– Cada artefato no repositório é identificado pelo group ID
, artifact ID
e versão