Java.lang.NoClassDefFoundError do nada! [RESOLVIDO - na mágica]

7 respostas
F

RESOLVIDO - na mágica: Dei mais uns 2 rebuild e foi.

Galera, do nada começou a dar esse problema num projeto aqui.
Já é a segunda vez que acontece, mas da primeira eu consegui resolver de alguma forma.
Mas agora já tentei todas as coisas que me vieram à mente, já cacei na internet e nada.

Alguém pode me ajudar? O que eu preciso postar aqui pra contribuir com a solução?

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: visao/TelaUsuario at controle.ControlePrincipal.actionPerformed(ControlePrincipal.java:64) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6504) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6269) at java.awt.Container.processEvent(Container.java:2229) at java.awt.Component.dispatchEventImpl(Component.java:4860) at java.awt.Container.dispatchEventImpl(Container.java:2287) at java.awt.Component.dispatchEvent(Component.java:4686) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422) at java.awt.Container.dispatchEventImpl(Container.java:2273) at java.awt.Window.dispatchEventImpl(Window.java:2713) at java.awt.Component.dispatchEvent(Component.java:4686) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707) at java.awt.EventQueue.access$000(EventQueue.java:101) at java.awt.EventQueue$3.run(EventQueue.java:666) at java.awt.EventQueue$3.run(EventQueue.java:664) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87) at java.awt.EventQueue$4.run(EventQueue.java:680) at java.awt.EventQueue$4.run(EventQueue.java:678) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:677) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105) at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.lang.ClassNotFoundException: visao.TelaUsuario at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 39 more

7 Respostas

M

Bom, eu já tive esse tipo de problema.

Uma vez foi só fechar os projetos, fechar IDE e abrir tudo denovo e funcionou.

Outra vez eu tinha um código assim

private static final String V_SCROLLER_CAP =
            "/com/geeksystem/common/images/v_scroller_top_cap.png";

E entendi que a causa era que não estava encontrando essa imagem, corrigi o caminho e funcionou.

Boa sorte

leandronsp

são erros bizarros assim que consomem tempo…

talvez sua classe TelaUsuario usa alguma dependência (algum outro projeto seu) que tá com erro de compilação. Isso é em produção ou dev?

o caminho do pacote está mesmo correto? visao.TelaUsuario?

F

É isso mesmo, tá tudo certo.
Já tentei até usar o caminho da classe pra instanciar, ao invés de importar, mas mesmo assim ele não acha a classe.
Pior que eu já reverti todas as alterações que fiz (que não tinham nada a ver com essa classe), mas não funcionou.
Que coisa bizarra…

M

Bom, voce consegue postar o seu código?

Rodrigo_Sasaki

dê um clean nos seus projetos e no servidor, caso seja um problema local

F

Sim, claro. Eu só não sei direito o que passar, porque pode tornar o post grande demais.

A chamada da TelaUsuario pelo ControlePrincipal:

import visao.*;
//...
else if ("Usuário".equals(e.getActionCommand())) {
            TelaUsuario telaUsuario = new TelaUsuario(telaPrincipal, true); 
            ControleUsuario controleUsuario = new ControleUsuario(telaUsuario, dao, telaPrincipal);
//...

O construtor da TelaUsuario:

//...
 public TelaUsuario(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        //...
}
//...

O ControleUsuario:

public class ControleUsuario implements ActionListener {

    private TelaUsuario telaUsuario;
    private Usuario u;
    private DAOUsuario dao;
    private ArrayList array;
    private TelaPrincipalMig tp;
    private ControlePrincipal cp;
    
    private static final int NIVEL_ADMINISTRADOR = 1;
    private static final int NIVEL_USUARIO = 2;

    public ControleUsuario(TelaUsuario telaUsuario, DAOGenerico dao, TelaPrincipalMig tp) {
        this.tp = tp;
        this.dao = (DAOUsuario) dao;
        this.array = (ArrayList) dao.listar(Usuario.class);
        this.telaUsuario = telaUsuario;
        telaUsuario.escuta(this);
        telaUsuario.adicionaListaTabela(array);
        telaUsuario.setVisible(true);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
    //...
    }
//...
digaoneves:
dê um clean nos seus projetos e no servidor, caso seja um problema local
Eu já fiz uns 50 clean and build e nada :/
F

hahahahha dei mais dois clean and build e foi.
Valeu, galera.

Criado 7 de dezembro de 2011
Ultima resposta 8 de dez. de 2011
Respostas 7
Participantes 4