Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Tratamento de Erros ::: Erros de Tempo de Execução

Tratamento de erros em Java - Como tratar o erro NoClassDefFoundError em seus programas Java

Quantidade de visualizações: 12463 vezes
A exceção (erro) NoClassDefFoundError acontece quando a Java Virtual Machine (JVM) ou uma instância de ClassLoader tenta carregar a definição de uma classe (como parte de uma chamada de método normal ou como parte da criação de uma nova instância usando a expressão new) e nenhuma definição de tal classe puder ser encontrada.

Antes de vermos uns exemplos, veja a posição da classe pública NoClassDefFoundError na hierarquia de classes da plataforma Java:

java.lang.Object
  java.lang.Throwable
    java.lang.Error
      java.lang.LinkageError
        java.lang.NoClassDefFoundError
Esta classe implementa a interface Serializable.

Veja que NoClassDefFoundError herda de Error e portanto, é uma das exceções lançadas como parte do funcionamento da JVM. Isso quer dizer que não podemos usar blocos try...catch para evitá-lo. A exceção é quando estamos tentando carregar uma instância de classe usando o ClassLoader.

Para provocar o erro NoClassDefFoundError só precisamos efetuar algumas das ações abaixo:

1) Fornecer um nome de classe que não existe (ou com diferenças entre minúsculas e maiúsculas do nome pretendido). Assim:

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

java MinhaClasse

Se a classe não existir no diretório atual ou em um arquivo jar, a mensagem de erro abaixo será exibido:

C:\java>java MinhaClasse
Exception in thread "main" 
java.lang.NoClassDefFoundError: MinhaClasse


2) Fornecer um nome de classe seguida por .class:

----------------------------------------------------------------------
Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar)

Este código foi útil? Paga um cafezinho pra mim :-(
PIX: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

java MinhaClasse.class


Link para compartilhar na Internet ou com seus amigos:

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 29 usuários muito felizes estudando em nosso site.