Pular para o conteúdo principal

Questão de Programação — Java — FGV 2024

ProgramaçãoJava
Código
fg098586
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Web Designer
A analista Cláudia está colaborando no projeto Java JustiSul, utilizando a ferramenta Maven. A analista precisa adicionar ao JustiSul a dependência ZDep. A ZDep é uma dependência direta, que deve estar disponível nos classpaths de compilação e de teste, sendo descartada no classpath de tempo de execução. As classes de ZDep devem ser implicitamente providenciadas em tempo de execução pelo Java Development Kit que executa o Maven.Cláudia deve adicionar a ZDep ao JustiSul aplicando o seguinte escopo de dependência do Maven:
  1. Atest;
  2. Bimport;
  3. Csystem;
  4. Dcompile;
  5. Eprovided.
Revelar gabarito e comentário

GabaritoE — provided.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Maven – Escopos de Dependência

Gabarito: letra E (provided). O escopo provided torna a dependência disponível nos classpaths de compilação e de teste, mas não a inclui no artefato final (runtime), pois o ambiente (JDK, servidor de aplicações) já a fornece. Essa é exatamente a descrição do enunciado: ZDep deve estar disponível na compilação e teste, descartada em execução, pois será providenciada pelo JDK.

Escopo

Classpath de Compilação

Classpath de Teste

Classpath de Runtime

Descrição

compile (padrão)

Sim

Sim

Sim

Disponível em todos os classpaths.

test

Não

Sim

Não

Disponível apenas no classpath de teste.

provided

Sim

Sim

Não

Disponível na compilação e teste; descartado no runtime (fornecido pelo ambiente).

runtime

Não

Não

Sim

Disponível apenas no classpath de execução.

system

Sim

Sim

Não

Similar ao provided, mas exige caminho explícito do JAR no sistema.

1compile (padrão)
Compilação, teste e runtime
2test
Apenas teste
3provided
Compilação e teste
Sem runtime (ambiente fornece)
4runtime
Apenas execução
5system
Similar a provided
Exige caminho local explícito
Escopos de dependência Maven
LEVELsoulevel.com.br
Escopos de dependência Maven: compile (padrão) (Compilação, teste e runtime); test (Apenas teste); provided (Compilação e teste, Sem runtime (ambiente fornece)); runtime (Apenas execução); system (Similar a provided, Exige caminho local explícito)

Alternativa A — ❌ Incorreta

test: disponível apenas no classpath de teste. Não atende à compilação, portanto errada.

Alternativa B — ❌ Incorreta

import: não é um escopo de dependência padrão do Maven; é um tipo de dependência usado em POMs para importar seções de outro POM. Não se aplica ao caso.

Alternativa C — ❌ Incorreta

system: similar ao provided, mas exige a localização explícita do JAR no sistema de arquivos e não utiliza o repositório Maven. Não é a forma adequada para bibliotecas do JDK.

Alternativa D — ❌ Incorreta

compile: é o escopo padrão; a dependência estará presente em todos os classpaths (compilação, teste e runtime). Logo, não seria descartada em execução, contrariando o requisito.

Alternativa E — ✅ Correta ⟵ GABARITO

provided: exatamente como o enunciado pede — disponível nos classpaths de compilação e teste, mas não incluída no pacote final (runtime), pois o próprio ambiente de execução (JDK) a fornece.

PEGA ESSA DICA!

Lembre-se dos cinco escopos principais do Maven: compile (tudo), test (só teste), provided (compila e testa, sem runtime), runtime (só execução) e system (similar ao provided, mas com caminho local). Decore-os com exemplos: provided para APIs do servidor (ex.: Servlet API), test para JUnit.

Gabarito: letra E

Link permanente: /questoes/fg098586