Erro java.lang.ClassNotFoundException: org.postgresql.Driver

PostgreSQL

Java

NetBeans

28/03/2024

Boa noite.;

Estou tentando conectar um banco de dados postgres com java, utilizando o netbens com IDE. Quando executo o código de conexão é apresentado o erro java.lang.ClassNotFoundException: org.postgresql.Driver(Erro completo abaixo).
Baixei o JDBC do postgres e adicionei o caminho do .jar no tools-->Libraries na library PostgreSQL JDBC Driver..

Alguém já passou por esse erro?

Versão NetBeans
===============
Product Version: Apache NetBeans IDE 21
Java: 22; Java HotSpot(TM) 64-Bit Server VM 22+36-2370
Runtime: Java(TM) SE Runtime Environment 22+36-2370
System: Mac OS X version 12.3 running on aarch64; UTF-8; pt_BR (nb)
User directory: /Users/evandrogomes/Library/Application Support/NetBeans/21
Cache directory: /Users/evandrogomes/Library/Caches/NetBeans/21

ERRO COMPLETO:
===============

java.lang.ClassNotFoundException: org.postgresql.Driver
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:413)
at java.base/java.lang.Class.forName(Class.java:404)
at ohebi.ohetlapp.OHEtlJDBC.conect(OHEtlJDBC.java:53)
at ohebi.ohetlapp.OHEtlConect.jButton3ActionPerformed(OHEtlConect.java:153)
at ohebi.ohetlapp.OHEtlConect$2.actionPerformed(OHEtlConect.java:73)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at java.desktop/java.awt.Component.processEvent(Component.java:6386)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
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: Cannot invoke "java.sql.Connection.close()" because the return value of "ohebi.ohetlapp.OHEtlJDBC.getC()" is null
at ohebi.ohetlapp.OHEtlJDBC.disconect(OHEtlJDBC.java:64)
at ohebi.ohetlapp.OHEtlConect.jButton3ActionPerformed(OHEtlConect.java:155)
at ohebi.ohetlapp.OHEtlConect$2.actionPerformed(OHEtlConect.java:73)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2314)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:407)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6621)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
at java.desktop/java.awt.Component.processEvent(Component.java:6386)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4996)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4828)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
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)
Olliveirahard

Olliveirahard

Curtidas 0

Respostas

ɐɾǝɹƃi

ɐɾǝɹƃi

28/03/2024

Estou aqui para ajudar você a solucionar o erro "java.lang.ClassNotFoundException: org.postgresql.Driver" que você está enfrentando ao conectar o banco de dados PostgreSQL no NetBeans.

Vamos seguir as seguintes etapas de verificação e correção:

1. Confirmação da Biblioteca JDBC:

Verifique o caminho: Abra a janela "Libraries" em "Tools" e confirme se o caminho do arquivo.jar do driver JDBC do PostgreSQL está correto. Clique duas vezes no arquivo para confirmar sua acessibilidade.
Baixe novamente, se necessário: Se houver dúvidas, baixe o último driver JDBC do site oficial do PostgreSQL (https://jdbc.postgresql.org/) e adicione-o novamente à biblioteca.

2. Dependências do Projeto:

Adicione a dependência: Certifique-se de que o projeto esteja configurado para usar a biblioteca JDBC. Clique com o botão direito no projeto, selecione "Properties", depois "Libraries" e adicione a biblioteca PostgreSQL JDBC ao projeto.

3. Classpath:

Verifique a configuração: Se estiver usando um arquivo de compilação separado, verifique se o arquivo.jar do driver está incluído no classpath do projeto.

4. Incompatibilidade de Versões:

Verifique as versões: Assegure a compatibilidade entre as versões do driver JDBC, o PostgreSQL e o Java em uso.

5. Cache do NetBeans:

Limpe o cache do NetBeans: Às vezes, limpar o cache resolve problemas de classpath. Vá em "Tools" > "Plugins" > "Installed" > "Available Plugins" e clique em "Clear Cache".

6. Erro "NullPointerException":

Investigue a causa: Esse erro sugere falha na criação da conexão, provavelmente devido ao erro da classe não encontrada. Resolva o problema inicial para que a conexão seja estabelecida corretamente.
Caso o problema persista, forneça mais detalhes:

Código de conexão JDBC
Versão exata do driver JDBC
Versão do PostgreSQL
Versão do Java

Espero ter ajudado, abraços.
GOSTEI 0
POSTAR