Home Desenvolvendo com o uso do Maven em Java
Post
Cancelar

Desenvolvendo com o uso do Maven em Java

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:

Funcionamento do Maven

Estrutura de um projeto Maven

  • O Maven define uma estrutura base para os projetos Java

Estrutura de um projeto Maven

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

Esta postagem está licenciada sob CC BY 4.0 pelo autor.