Maven Flashcards
Como é a estrutura de um pom.xml para as dependencias?
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${mavenVersion}</version>
</dependency>
</dependencies>
O que é o Maven?
O Maven é uma ferramenta de automação de build e gerenciamento de dependências para projetos Java.
Qual é o arquivo central do Maven?
O arquivo central do Maven é o pom.xml.
O que significa POM no Maven?
POM significa Project Object Model.
Qual o propósito do arquivo pom.xml?
O pom.xml contém as configurações do projeto incluindo dependências plugins e informações do build.
Qual o repositório padrão do Maven?
O repositório padrão do Maven é o Maven Central.
Onde o Maven armazena dependências localmente?
O Maven armazena dependências localmente no diretório ~/.m2/repository.
Como limpar os arquivos gerados pelo build no Maven?
Use o comando mvn clean.
Qual comando compila o código-fonte de um projeto Maven?
O comando é mvn compile.
Como executar os testes de um projeto Maven?
Use o comando mvn test.
Qual comando empacota um projeto Maven em um artefato como JAR ou WAR?
O comando é mvn package.
O que faz o comando mvn install?
Ele instala o artefato no repositório local para uso em outros projetos.
Como publicar um artefato em um repositório remoto no Maven?
Use o comando mvn deploy.
Qual comando mostra a árvore de dependências de um projeto?
O comando é mvn dependency:tree.
O que é um Plugin no Maven?
Um plugin é uma extensão que adiciona funcionalidades ao processo de build do Maven.
Qual plugin é usado para compilar código Java no Maven?
O plugin é o maven-compiler-plugin.
Como definir a versão do Java no Maven?
Configure o maven-compiler-plugin no pom.xml definindo as propriedades source e target.
O que é o ciclo de vida do Maven?
É uma sequência de fases que define como o build do projeto é executado.
Quais são os três ciclos de vida principais do Maven?
São clean, default e site.
O que faz o ciclo de vida clean no Maven?
Ele remove os arquivos gerados por builds anteriores.
O que faz o ciclo de vida default no Maven?
Ele processa o projeto incluindo compilação testes e empacotamento.
O que faz o ciclo de vida site no Maven?
Ele gera documentação para o projeto.
O que é um Archetype no Maven?
Um Archetype é um template para criar projetos com uma estrutura pré-definida.
Como criar um novo projeto Maven usando um Archetype?
Use o comando mvn archetype:generate.
O que é o repositório local do Maven?
É o repositório no computador do desenvolvedor onde as dependências baixadas são armazenadas.
O que é o repositório remoto do Maven?
É um repositório central ou privado onde artefatos são armazenados e compartilhados.
Qual a diferença entre dependências diretas e transitivas no Maven?
Dependências diretas são declaradas no pom.xml e transitivas são trazidas automaticamente por outras dependências.
Como forçar a atualização de dependências no Maven?
Use o comando mvn clean install -U.
O que é o dependencyManagement no Maven?
É uma seção onde versões consistentes de dependências são definidas para serem herdadas por módulos filhos.
O que é um Parent POM no Maven?
É um POM que fornece configurações comuns para módulos filhos em projetos multi-módulos.
Como adicionar uma dependência ao projeto Maven?
Declare-a dentro da seção <dependencies> no pom.xml.</dependencies>
Qual a ordem de herança no Maven?
Primeiro o Parent POM depois o pom.xml do projeto e finalmente os perfis ativos.
O que é um perfil no Maven?
Um perfil é uma configuração alternativa que pode ser ativada para diferentes ambientes ou condições.
Como ativar um perfil no Maven?
Use o comando
mvn <comando> -P<nome-do-perfil>
O que são propriedades no Maven?
Propriedades são variáveis definidas no pom.xml para reutilizar valores como versões ou configurações.
Como acessar uma propriedade no Maven?
Use a sintaxe ${nomeDaPropriedade} no pom.xml.
Como o Maven lida com conflitos de dependências?
Ele escolhe a versão mais próxima do projeto na árvore de dependências.
Como excluir uma dependência transitiva no Maven?
Use a tag <exclusion> dentro da dependência que a traz.</exclusion>
Como verificar o POM efetivo de um projeto Maven?
Use o comando mvn help:effective-pom.
O que significa SNAPSHOT no Maven?
SNAPSHOT é uma versão de desenvolvimento que pode ser atualizada frequentemente.
Qual a diferença entre uma versão RELEASE e SNAPSHOT no Maven?
RELEASE é uma versão estável enquanto SNAPSHOT é uma versão em desenvolvimento.
O que é o settings.xml no Maven?
É o arquivo de configuração do usuário para repositórios credenciais e outras definições.
Onde está localizado o settings.xml do Maven?
No diretório ~/.m2/.
Como configurar credenciais para repositórios remotos no Maven?
Adicione-as ao arquivo settings.xml.
O que é o mvn dependency:analyze?
É um comando que analisa dependências declaradas e verifica quais são usadas ou não.
Como rodar uma classe Java diretamente no Maven?
Use o plugin exec-maven-plugin com o comando mvn exec:java -Dexec.mainClass=”<nome-da-classe>".</nome-da-classe>
O que é o escopo compile no Maven?
É 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.
O escopo compile inclui a dependência no artefato final?
Sim o escopo compile inclui a dependência no artefato final.
Quando o escopo provided é usado?
Quando a dependência é necessária apenas na compilação mas será fornecida pelo ambiente runtime como um servidor de aplicação.
O escopo provided inclui a dependência no artefato final?
Não o escopo provided não inclui a dependência no artefato final.
Quando usar o escopo runtime?
Quando a dependência é necessária apenas em tempo de execução e não na compilação.
O escopo runtime inclui a dependência no artefato final?
Sim o escopo runtime inclui a dependência no artefato final.
Qual o uso típico do escopo test?
O escopo test é usado para dependências que são necessárias apenas durante a execução de testes.
O escopo test inclui a dependência no artefato final?
Não o escopo test não inclui a dependência no artefato final.
O que é o escopo system?
Escopo usado para dependências fornecidas manualmente pelo sistema local fora do repositório Maven.
Por que o uso do escopo system é desencorajado?
Porque ele quebra a portabilidade do projeto e dificulta o gerenciamento de dependências.
O escopo system inclui a dependência no artefato final?
Não o escopo system não inclui a dependência no artefato final.
O que é o escopo import?
É usado para importar um conjunto de dependências pré-definidas de um BOM no Maven.
Quando usar o escopo import?
Quando se deseja gerenciar versões de dependências centralizadas usando um BOM.
O escopo import inclui dependências no artefato final?
Não o escopo import apenas gerencia versões e não inclui dependências diretamente.
Qual escopo é adequado para dependências usadas em todas as fases do ciclo de vida do Maven?
O escopo compile é adequado para dependências usadas em todas as fases do ciclo de vida.
Qual escopo usar para dependências fornecidas por um servidor como a API Servlet?
O escopo provided é usado para dependências fornecidas por um servidor.
Qual escopo usar para bibliotecas como drivers de banco de dados necessários apenas na execução?
O escopo runtime é usado para bibliotecas necessárias apenas na execução.
Qual escopo usar para frameworks de teste como JUnit?
O escopo test é usado para frameworks de teste.
Qual escopo permite especificar manualmente o caminho de um .jar local?
O escopo system permite especificar manualmente o caminho de um .jar local.