Questão 38 · Informática: Programação e algoritmos
Ao se compilar um programa Java, foi retornado o seguinte erro.
Exception in thread "main" java.lang.NoClassDefFoundError: Teste Nesse caso, para solucionar o problema, deve-se
- A) colocar o método main como public.
- B) colocar static no método main.
- C) colocar ponto e vírgula (;) dentro do método main.
- D) corrigir o classpath.
- E) corrigir o argumento do método main.
Marque a alternativa correta:
Gabarito: D
Gabarito definitivo divulgado pela banca Cebraspe (PREF/BARRA/COQUEIROS 2020).
Comentário
Gabarito: D.
O erro java.lang.NoClassDefFoundError indica que a JVM não encontrou a classe solicitada durante a execução (no caso, a classe "Teste"). Normalmente isso ocorre porque o classpath está incorreto: o diretório ou o arquivo .class não está onde a JVM procura. A solução é corrigir o classpath (por exemplo, com a opção -cp ou a variável CLASSPATH) para apontar para o local correto da classe. Por isso a alternativa D está correta.
- A) Errada. O método main precisa ser public, mas, se fosse esse o problema, o erro seria outro (método não encontrado na execução).
- B) Errada. O método main deve ser static; a ausência disso gera erro de método main, e não de classe não encontrada.
- C) Errada. Ponto e vírgula dentro do método main é erro de sintaxe, detectado na compilação, e não gera esse erro de execução.
- E) Errada. O argumento do método main (String[] args) não causa NoClassDefFoundError.
Dica: NoClassDefFoundError está ligado ao local da classe (classpath); já erros de assinatura do main ou de sintaxe aparecem de outra forma.
Fundamentos: Mecanismo de carregamento de classes da JVM · Classpath como caminho de busca de classes no Java
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova Cebraspe PREF/BARRA/COQUEIROS 2020 (Diversos cargos), questão 38, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.