NoClassDefFoundError

1 resposta
leo.mendes

Oi Pessoal, dentro da minha IDE (NETBEANS 7.0) o programa roda normalmente, quando compilo e tento executar o jar ele dá esse erro.
Alguem pode me dar uma judinha?

Abs!"

C:\Documents and Settings\leonardo\Meus documentos\NetBeansProjects\TCCLOCADORA\
dist>java -jar TCCLOCADORA.JAR
Carregando arquivos de propriedades
Carregando arquivos de propriedades
Tipo Banco de Dados : mysql
Vai Conectar ao banco
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: br/com/lo
cadora/Cadastros/Cliente
        at br.com.locadora.dao.ClientesDao.listaClientes(ClientesDao.java:126)
        at br.com.locadora.gui.GUIClientes.listarClientes(GUIClientes.java:51)
        at br.com.locadora.gui.GUIClientes.<init>(GUIClientes.java:46)
        at br.com.locadora.gui.GUIPrincipal.mostraGUIClientes(GUIPrincipal.java:
125)
        at br.com.locadora.gui.GUIPrincipal.IMnuClientesActionPerformed(GUIPrinc
ipal.java:135)
        at br.com.locadora.gui.GUIPrincipal.access$100(GUIPrincipal.java:22)
        at br.com.locadora.gui.GUIPrincipal$2.actionPerformed(GUIPrincipal.java:
67)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown
Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: br.com.locadora.Cadastros.Cliente
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 45 more

1 Resposta

nel

Obviamente, não está encontrando sua classe.
O que possivelmente está ocorrendo, é que você gerou o seu JAR sem que todas as classes estejam contidas nele.

Na realidade, você pode gerar N JAR´s, de acordo com sua necessidade.
A questão é que quando for executar o seu JAR, deve passar o contexto dele para o CLASSPATH, pois somente dessa forma ele vai encontrar as devidas classes.
Isso sua IDE faz automaticamente, algo que tu terá de fazer “na mão”, fora dela.

Abraços!

Criado 21 de novembro de 2011
Ultima resposta 21 de nov. de 2011
Respostas 1
Participantes 2