Probrema com acesso ao banco de dados

4 respostas
javaAurelio

Tenho um pequeno exemplo de agenda que nao funciona quando esta em producao.

Quando esta em desenvolvimento a agenda funciona.

Mas quando eu gero o jar ela nao funciona, a exception capturada mostra que o drive nao pode ser encontrado.

:arrow: :xAcho que o driver do MySql nao vai quando eu gero o jar

Alguem pode me ajudar :?:

Obrigado. :smiley:

4 Respostas

R

Adicione o JAR de conexão com o banco de dados ao seu CLASSPATH e o problema será solucionado.

Você pode adicionar ao CLasspath do Sistema Operacional ou ao Classpath do JAR, a partir da instrução “Class-Path” localizada no arquivo MANIFEST.MF.
Se sua aplicação for Web, adicione o driver de conexão na pasta WEB-INF/lib

javaAurelio

É uma aplicacao J2SE.

javaAurelio

javaAurelio:
É uma aplicacao J2SE.

eu acho que nao vai com o jar

fenrir

Não adianta você colocar nenhum JAR dentro do JAR da sua aplicação, pois o Java não inclui essas bibliotecas no classloader (a menos que você escreva o seu próprio classloader para abrir o seu JAR, e todos os outros JAR’s que estiverem dentro dele).

Duas soluções simples: colocar as suas bibliotecas externas (como o driver de acesso ao banco de dados) no classpath, como foi sugerido, ou na hora de gerar o JAR da sua aplicação você descompactar TODOS os JAR’s de bibliotecas, e depois montar um único JAR com todas as classes (inclusive com o seu programa).

A solução mais elegante: você criar um classloader que carregue todas as bibliotecas externas em tempo de execução. Dessa forma os JAR’s não precisam estar com sua aplicação, o que deixa até mais fácil mantê-la.

Deixar as bibliotecas no classpath diretamente pode não ser a melhor alternativa, pois dependendo do que mais estiver rodando na máquina (outros programas Java) podem ocorrer problemas com versões imcompatíveis de bibliotecas.

Criado 9 de fevereiro de 2007
Ultima resposta 10 de fev. de 2007
Respostas 4
Participantes 3