Erro ao executar meu projeto .jar

6 respostas
N

Fiz um projeto simples no NetBeans para Inserir, Atualizar e Deletar dados de um banco de dados.
TUDO funciona normalmente no NetBeans, a conexão funciona e todas as funcionalidades que eu defini. Então decidi criar o .jar, porém, ele só funciona dentro da pasta dist do meu projeto. Se eu copiar e colar o .jar para o DESKTOP, por exemplo, ele não abre. Tentei abrir pelo Terminal e está me informando o seguinte erro.

java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)

at java.base/java.lang.Class.forName0(Native Method)

at java.base/java.lang.Class.forName(Class.java:291)

at conexao.JdbcConnection.getConnection(JdbcConnection.java:37)

at janelas.TelaPrincipal.getUserList(TelaPrincipal.java:39)

at janelas.TelaPrincipal.Show_Users_In_JTable(TelaPrincipal.java:61)

at janelas.TelaPrincipal.(TelaPrincipal.java:31)

at janelas.TelaPrincipal.lambda$main$0(TelaPrincipal.java:327)

at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)

at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)

at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)

at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)

at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)

at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)

at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)

at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Exception in thread AWT-EventQueue-0 java.lang.NullPointerException

at janelas.TelaPrincipal.getUserList(TelaPrincipal.java:45)

at janelas.TelaPrincipal.Show_Users_In_JTable(TelaPrincipal.java:61)

at janelas.TelaPrincipal.(TelaPrincipal.java:31)

at janelas.TelaPrincipal.lambda$main$0(TelaPrincipal.java:327)

at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)

at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)

at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)

at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)

at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)

at java.base/java.security.AccessController.doPrivileged(Native Method)

at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)

at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)

at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)

at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)

at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)

at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

6 Respostas

darlan_machado

Colocar o driver mysql no classpath do projeto.

N

Coloquei o driver na Librare do projeto. Seria isso?

Acho estranho, até porque funciona tudo normalmente, só não funciona se eu tento executar o .jar em outra pasta.

darlan_machado

Então certifique-se de que está exportando o jar com o driver junto dele ou que está levando o jar para a mesma pasta onde colocar o jar gerado.

N

Era isso mesmo, testei até em outra máquina e funcinou.

Então se eu for disponibilizar essa aplicação para alguém eu teria que enviar uma pasta com o driver junto?

Não tem como fazer funcionar apenas com o .jar?

Obrigado!

darlan_machado

No NB eu não lembro. Mas, você tem alguma configuração para exportar com os jars/libs junto sim.

N

Vou pesquisar sobre isso.

Obrigado pela atenção, me ajudou muito!

Criado 19 de setembro de 2018
Ultima resposta 19 de set. de 2018
Respostas 6
Participantes 2