ClassNotFoundException: org.postgresql.Driver  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
kandrade
Entusiasta Java

Membro desde: 09/10/2007 12:30:22
Mensagens: 17
Offline

Poxa galera, estou estressado com esse java.

Tenho o NetBeans 5.5.1 e tenho o jdk 1.6.0.2.
Consegui fazer o que precisava usando o NetBeans, compilo e executo o que quero.
A classe que estou fazendo conecta no banco postgresql e insere dados no banco apartir de um arquivo txt separado por ";".

Bom, preciso executar isso automaticamente dentro do crontab do Linux, algo como o gerenciador de tarefas do windows.

Copiei os arquivos .class para um diretório na /home/usuario/ e tentei executar com o comando:

shell> java minha_classe

e apareceu a seguinte informacão:
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

Busquei alguma solucão e encontrei uma que dizia para mudar as opcões de compilacão do NetBeans para gerar na versão java5 -source 5 -target 5

O erro apresentado dessa vez foi algo do tipo:
o javac que voce possui é da versão 6 e não pode compilar na versão 5.

Verifiquei as versões do java e do javac e realmente nesse pacote o java é 5 e o javac é 6.

Baixei o jdk 1.6.0.3 e instalei em outro diretório.
Tentei executar o .class com o java 6 e outro erro me aparece:


ClassNotFoundException: org.postgresql.Driver
SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/lajeado
Exception in thread "main" java.lang.NullPointerException
at Banco.Desconectar(Banco.java:174)
at Mensagem.main(Mensagem.java:34)


O código está testado e funcionando no NetBeans, mas sem a IDE não vai de jeito nenhum.


OBS: já copie o .jar do jdbc-postgresql nos diretórios apontados no CLASSPATH, inclusive numa outra dica coloquei no diretório jdk-versao/jre/lib/ext.
Fernandojdk
Thread.start()
[Avatar]

Membro desde: 21/11/2007 00:45:13
Mensagens: 44
Localização: Miguelópolis-SP
Offline

Ola..

Não fique entressado com Java... Pois cada problema que enfrentamos são como degraus de uma escada rumo ao sucesso...

Quanto mais problemas enfrentar, com certeza mais sabedoria irá adquirir...

Esse erro tá dando pq ele não ta encontrando a lib .jar do driver do postgresql.

Copie o arquivo driver do postgresql para a pasta onde estao suas classes compiladas e na hora de executar o aplicativo:

[i]shell> java -cp arquivo_do_driver.jar minhaClasse

"Não existe derrote que derrote uma pessoa que nasceu para vencer"
[MSN]
kandrade
Entusiasta Java

Membro desde: 09/10/2007 12:30:22
Mensagens: 17
Offline

Valeu amigão pela resposta.

Acho que funcionou o comando que voce passou, só que agora apareceu outro erro:
Exception in thread "main" java.lang.NoClassDefFoundError: Mensagem

kandrade
Entusiasta Java

Membro desde: 09/10/2007 12:30:22
Mensagens: 17
Offline

Obrigado Fernando, tive que acrescentar no comando o diretório das classes que eu estava compilando. O comando ficou assim:

/opt/jdk1.6.0_03/bin/java -cp /root/Classe_Banco/postgresql-8.2-506.jdbc4.jar:/root/Classe_Banco/ Mensagem

/opt/jdk1.6.0_03/bin/java -> é o jdk que instalei em outro diretório.
/root/Classe_Banco/ -> diretório onde armazeno as classes.
postgresql-8.2-506.jdbc4.jar -> drive jdbc para postgresql.
Mensagem -> nome da minha classe.

 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team