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.
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