Meu projeto java não está compilando erro na java.lang.NoClassDefFoundError:

5 respostas
A
Ao tentar rodar meu programa aparece o seguinte erro:

Exception in thread AWT-EventQueue-0 java.lang.NoClassDefFoundError: performancehumana/gui/TelaPrescricaoExercicio

at performancehumana.gui.TelaPrincipalComMenuInicial.btnPrescricaoActionPerformed(TelaPrincipalComMenuInicial.java:496)

at performancehumana.gui.TelaPrincipalComMenuInicial.access$400(TelaPrincipalComMenuInicial.java:51)

at performancehumana.gui.TelaPrincipalComMenuInicial$5.actionPerformed(TelaPrincipalComMenuInicial.java:240)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)

Ao pesquisar sobre erro verifiquei que é quando a JVM não encontra a classe, porém a classe está no local correto dela, ela estava funcionando normalmente, mas de uma hora pra outra appareceu esse erro, ja reiniciei o netbenas, refatorei para mudar o nome d classe, mas nada resolve.

5 Respostas

PedreiroDeSoftware

As vezes acontece.
Mude o nome da classe provisoriamente e continue a aplicação.
Depois vc pode tentar por o nome original.
Lembre que o nome da classe e o do arquivo devem ser iguais.

mariodevjunior

Já verificou se tem algo relacionado a esse botão também que ele cita?

PedreiroDeSoftware

Não cheguei a verificar.
Ele pode tentar limpar a cache conforme este exemplo: https://pt.stackoverflow.com/questions/46982/erro-java-lang-noclassdeffounderror-caused-by-java-lang-classnotfoundexception

Por vezes, por questões de semântica, o erro ocorre ao renomear uma classe.

A causa também pode ser uma instrução em um método em particular, assim, outra opção seria:

a) verificar as instruções, dentro do método btnPrescricaoActionPerformed;
b) usar o debug, se possível, linha por linha sobre estas variáveis para ver em que ponto o erro é disparado, podendo começar pela linha 496.
c) identificada a instrução incorreta, resta apenas corrigir.

@AntonioPaes, qual o código completo referente ao método btnPrescricaoActionPerformed? E quais variáveis são inicializadas com recursos externos, como por exemplo ler dados de um bloco de notas para carregar uma lista?

A

O erro é muito estranho, eu adicionei um painel com guias nessa tela, ai vou adicionando as paletas e vou testando o projeto e ele vai funcionando normalmente, depois de uma determinada quantidade de paletas ele não executa mais,
o Código desse botão que chama essa tela é o seguinte:

private void btnPrescricaoActionPerformed(java.awt.event.ActionEvent evt) {

TelaPrincipalDePrescricao telaPrescricao = new TelaPrincipalDePrescricao();

telaPrescricao.setVisible(true);
}

Tentei trocar essa tela de um jDialog para um jFrame achando que o jDialog aceita uma quantidade limitade de componentes mas mesmo assim não mudou nada.

PedreiroDeSoftware

Nestes termos é inviável especular a causa do problema.
Se possível, coloca o projeto no github e compartilha o link.

Criado 20 de novembro de 2019
Ultima resposta 22 de nov. de 2019
Respostas 5
Participantes 3