[RESOLVIDO]java.lang.ClassNotFoundException: org.postgresql.Driver (Driver já está no Datapath)

Olá pessoal, estou com um probleminha chato aqui, estou desenvolvendo uma aplicação web com um conexão simples a uma base de dados através do JDBC para o postgres, toda vez que eu tento instanciar um objeto da minha classe de conexão, na hora de executar a linha: “Class.forName(“org.postgresql.Driver”);” eu consigo a exceção: java.lang.ClassNotFoundException: org.postgresql.Driver

Vi em vários tópicos que este problema se dá devido ao driver não estar corretamente no ClassPath da aplicação, mas em meu entendimento está tudo ok, o driver esta na pasta lib da aplicação e e ja fui no “Configure Build Path” (usando o Eclipse) e na aba ‘Libraries’ adicionei o .jar do driver jdbc. A imagem abaixo mostra a adição do driver:

No arquivo .classpath do projeto tem a entrada ‘’

Então pergunta seria se esta correta a inclusão do Driver no Classpath ou se existe algum outro problema que possa gerar exceção, qualquer ajuda é bem vinda.

Obrigado.

Cara, Blz?

Tenta registrar o Driver

Opa tudo certo sim, então onde seria o lugar adequado de se colocar este registro ?

Esta é minha classe conexão:

public ConnectDB() throws SQLException { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException ex){ System.out.println("Erro no Construtor"); Logger.getLogger(ConnectDB.class.getName()).log(Level.SEVERE, null, ex); } }

Ao Inserir o registro acima do ‘Class.forName’ eu consigo: ’ java.lang.NoClassDefFoundError: org/postgresql/Driver’
Se eu coloco abaixo continua na mesma já que a exceção é gerada na linha ‘Class.forName’

Uma outra informação que talvez seja útil, quando eu uso o comando: ’ System.out.println(System.getProperty(“java.class.path”));’ ele me da a seguinte saída: /etc/apache-tomcat-7.0.35/bin/bootstrap.jar:/etc/apache-tomcat-7.0.35/bin/tomcat-juli.jar:/usr/lib/jvm/java-7-oracle/lib/tools.jar

Não deveria printar algo em relação ao plugin ?

Cara, tenta assim ve se da certo.

public ConnectDB() throws SQLException { try { DriverManager.registerDriver(new org.postgresql.Driver()); Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException ex){ System.out.println("Erro no Construtor"); Logger.getLogger(ConnectDB.class.getName()).log(Level.SEVERE, null, ex); } }

Tentei aqui brother, mas agora exceção muda, consigo " java.lang.NoClassDefFoundError: org/postgresql/Driver"

Será que é porque eu tento usar “DriverManager” sem antes ter carregado o driver ?

Tenta fazer su matodo assim:

public class FabricaConexao { public Connection getConnection() { try { DriverManager.registerDriver(new org.postgresql.Driver()); return DriverManager.getConnection("jdbc:postgresql://localhost/seu_banco", "root", "senha"); } catch (SQLException e) { throw new RuntimeException(e); } } }

Olá brother, consegui resolver aqui, acho que era algum problema relacionado ao Eclipse eu o re-instalei executei os mesmos passos e funcionou, a diferença é que dessa vez o Eclipse deu um Warning:
Classpath entry <endereço do plugin> will not be exported or published. Runtime ClassNotFoundExceptions may result.

Eu cliquei em “Quick Fix” e o suposto ‘problema’ foi resolvido, ainda fiquei sem entender o que gerava esse warning e no que constituiu o Quick Fix do Eclipse, mas pelo menos funcionou ^^
Obrigado mesmo pela ajuda