Maven Flashcards

1
Q

Como é a estrutura de um pom.xml para as dependencias?

A

<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${mavenVersion}</version>
</dependency>
</dependencies>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é o Maven?

A

O Maven é uma ferramenta de automação de build e gerenciamento de dependências para projetos Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual é o arquivo central do Maven?

A

O arquivo central do Maven é o pom.xml.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que significa POM no Maven?

A

POM significa Project Object Model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qual o propósito do arquivo pom.xml?

A

O pom.xml contém as configurações do projeto incluindo dependências plugins e informações do build.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual o repositório padrão do Maven?

A

O repositório padrão do Maven é o Maven Central.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Onde o Maven armazena dependências localmente?

A

O Maven armazena dependências localmente no diretório ~/.m2/repository.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Como limpar os arquivos gerados pelo build no Maven?

A

Use o comando mvn clean.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qual comando compila o código-fonte de um projeto Maven?

A

O comando é mvn compile.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como executar os testes de um projeto Maven?

A

Use o comando mvn test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qual comando empacota um projeto Maven em um artefato como JAR ou WAR?

A

O comando é mvn package.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que faz o comando mvn install?

A

Ele instala o artefato no repositório local para uso em outros projetos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Como publicar um artefato em um repositório remoto no Maven?

A

Use o comando mvn deploy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qual comando mostra a árvore de dependências de um projeto?

A

O comando é mvn dependency:tree.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O que é um Plugin no Maven?

A

Um plugin é uma extensão que adiciona funcionalidades ao processo de build do Maven.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qual plugin é usado para compilar código Java no Maven?

A

O plugin é o maven-compiler-plugin.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Como definir a versão do Java no Maven?

A

Configure o maven-compiler-plugin no pom.xml definindo as propriedades source e target.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

O que é o ciclo de vida do Maven?

A

É uma sequência de fases que define como o build do projeto é executado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Quais são os três ciclos de vida principais do Maven?

A

São clean, default e site.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

O que faz o ciclo de vida clean no Maven?

A

Ele remove os arquivos gerados por builds anteriores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

O que faz o ciclo de vida default no Maven?

A

Ele processa o projeto incluindo compilação testes e empacotamento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

O que faz o ciclo de vida site no Maven?

A

Ele gera documentação para o projeto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

O que é um Archetype no Maven?

A

Um Archetype é um template para criar projetos com uma estrutura pré-definida.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Como criar um novo projeto Maven usando um Archetype?

A

Use o comando mvn archetype:generate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

O que é o repositório local do Maven?

A

É o repositório no computador do desenvolvedor onde as dependências baixadas são armazenadas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

O que é o repositório remoto do Maven?

A

É um repositório central ou privado onde artefatos são armazenados e compartilhados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Qual a diferença entre dependências diretas e transitivas no Maven?

A

Dependências diretas são declaradas no pom.xml e transitivas são trazidas automaticamente por outras dependências.

28
Q

Como forçar a atualização de dependências no Maven?

A

Use o comando mvn clean install -U.

29
Q

O que é o dependencyManagement no Maven?

A

É uma seção onde versões consistentes de dependências são definidas para serem herdadas por módulos filhos.

30
Q

O que é um Parent POM no Maven?

A

É um POM que fornece configurações comuns para módulos filhos em projetos multi-módulos.

31
Q

Como adicionar uma dependência ao projeto Maven?

A

Declare-a dentro da seção <dependencies> no pom.xml.</dependencies>

32
Q

Qual a ordem de herança no Maven?

A

Primeiro o Parent POM depois o pom.xml do projeto e finalmente os perfis ativos.

33
Q

O que é um perfil no Maven?

A

Um perfil é uma configuração alternativa que pode ser ativada para diferentes ambientes ou condições.

34
Q

Como ativar um perfil no Maven?

A

Use o comando

mvn <comando> -P<nome-do-perfil>
35
Q

O que são propriedades no Maven?

A

Propriedades são variáveis definidas no pom.xml para reutilizar valores como versões ou configurações.

36
Q

Como acessar uma propriedade no Maven?

A

Use a sintaxe ${nomeDaPropriedade} no pom.xml.

37
Q

Como o Maven lida com conflitos de dependências?

A

Ele escolhe a versão mais próxima do projeto na árvore de dependências.

38
Q

Como excluir uma dependência transitiva no Maven?

A

Use a tag <exclusion> dentro da dependência que a traz.</exclusion>

39
Q

Como verificar o POM efetivo de um projeto Maven?

A

Use o comando mvn help:effective-pom.

40
Q

O que significa SNAPSHOT no Maven?

A

SNAPSHOT é uma versão de desenvolvimento que pode ser atualizada frequentemente.

41
Q

Qual a diferença entre uma versão RELEASE e SNAPSHOT no Maven?

A

RELEASE é uma versão estável enquanto SNAPSHOT é uma versão em desenvolvimento.

42
Q

O que é o settings.xml no Maven?

A

É o arquivo de configuração do usuário para repositórios credenciais e outras definições.

43
Q

Onde está localizado o settings.xml do Maven?

A

No diretório ~/.m2/.

44
Q

Como configurar credenciais para repositórios remotos no Maven?

A

Adicione-as ao arquivo settings.xml.

45
Q

O que é o mvn dependency:analyze?

A

É um comando que analisa dependências declaradas e verifica quais são usadas ou não.

46
Q

Como rodar uma classe Java diretamente no Maven?

A

Use o plugin exec-maven-plugin com o comando mvn exec:java -Dexec.mainClass=”<nome-da-classe>".</nome-da-classe>

47
Q

O que é o escopo compile no Maven?

A

É o escopo padrão onde a dependência está disponível em todas as fases do ciclo de vida incluindo compilação testes e execução.

48
Q

O escopo compile inclui a dependência no artefato final?

A

Sim o escopo compile inclui a dependência no artefato final.

49
Q

Quando o escopo provided é usado?

A

Quando a dependência é necessária apenas na compilação mas será fornecida pelo ambiente runtime como um servidor de aplicação.

50
Q

O escopo provided inclui a dependência no artefato final?

A

Não o escopo provided não inclui a dependência no artefato final.

51
Q

Quando usar o escopo runtime?

A

Quando a dependência é necessária apenas em tempo de execução e não na compilação.

52
Q

O escopo runtime inclui a dependência no artefato final?

A

Sim o escopo runtime inclui a dependência no artefato final.

53
Q

Qual o uso típico do escopo test?

A

O escopo test é usado para dependências que são necessárias apenas durante a execução de testes.

54
Q

O escopo test inclui a dependência no artefato final?

A

Não o escopo test não inclui a dependência no artefato final.

55
Q

O que é o escopo system?

A

Escopo usado para dependências fornecidas manualmente pelo sistema local fora do repositório Maven.

56
Q

Por que o uso do escopo system é desencorajado?

A

Porque ele quebra a portabilidade do projeto e dificulta o gerenciamento de dependências.

57
Q

O escopo system inclui a dependência no artefato final?

A

Não o escopo system não inclui a dependência no artefato final.

58
Q

O que é o escopo import?

A

É usado para importar um conjunto de dependências pré-definidas de um BOM no Maven.

59
Q

Quando usar o escopo import?

A

Quando se deseja gerenciar versões de dependências centralizadas usando um BOM.

60
Q

O escopo import inclui dependências no artefato final?

A

Não o escopo import apenas gerencia versões e não inclui dependências diretamente.

61
Q

Qual escopo é adequado para dependências usadas em todas as fases do ciclo de vida do Maven?

A

O escopo compile é adequado para dependências usadas em todas as fases do ciclo de vida.

62
Q

Qual escopo usar para dependências fornecidas por um servidor como a API Servlet?

A

O escopo provided é usado para dependências fornecidas por um servidor.

63
Q

Qual escopo usar para bibliotecas como drivers de banco de dados necessários apenas na execução?

A

O escopo runtime é usado para bibliotecas necessárias apenas na execução.

64
Q

Qual escopo usar para frameworks de teste como JUnit?

A

O escopo test é usado para frameworks de teste.

65
Q

Qual escopo permite especificar manualmente o caminho de um .jar local?

A

O escopo system permite especificar manualmente o caminho de um .jar local.