Questão de Programação — Java — FGV 2024
- 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
- Atest;
- Bimport;
- Csystem;
- Dcompile;
- Eprovided.
GabaritoE — provided.
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 |
|---|---|---|---|---|
| Sim | Sim | Sim | Disponível em todos os classpaths. |
| Não | Sim | Não | Disponível apenas no classpath de teste. |
| Sim | Sim | Não | Disponível na compilação e teste; descartado no runtime (fornecido pelo ambiente). |
| Não | Não | Sim | Disponível apenas no classpath de execução. |
| Sim | Sim | Não | Similar ao |
test: disponível apenas no classpath de teste. Não atende à compilação, portanto errada.
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.
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.
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.
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.
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