Olá povo, preciso de ajuda, criei um .jar que consulta um banco de dados. Ao clicar no botão procurar, ele deveria retornar uma consulta na tela, mas com o .jar não retorna a consulta e ao compilar no eclipse ele retorna a consulta e a minha consulta retorna com um novo frame, alguém tem idéia do que pode ser?
Swing e .jar
5 Respostas
Alguma exceção está sendo lançada pelo seu programa. Tem log? Olhe o arquivo.
Aposto 50 mangos que é porque o driver do banco não está no classpath…
Puts… ia chutar essa tb, Adolfo…
Mas vou arriscar…
Vc deve perguntar, mas e se na maquina do meu cliente não tiver o client do banco instalado ?? Como vou referenciar o driver no classpath ???
Resp.: Fazendo uma cópia do .jar para dentro do seu projeto e distribuindo tudo junto com um classpath da sua prórpia aplicação…
Observação:
Qndo vc usa uma ferramenta, como o eclipse, elas costumam ter um CLASSPATH para cada projeto, por isso, qndo vc tenta rodar fora do eclipse, ele n acha o driver… dai a necessidade de jogar no classpath do sistema operacional ou fazer o que disse ai em cima…
Fiz alguns testes e fora do eclipse a aplicação não consegue acessar o driver do banco de dados. Dentro do eclipse sem problemas e o driver está no classpath, alguém tem idéia?
Não lança nenhuma exception e não informa nada, simplesmente não funciona.
Alguma exceção deve estar lançando. Talvez você não esteja logando ou tratando corretamente, sei lá. Eu continuo achando que falta algum driver no classpath (como você verificou que o driver do banco está lá?). Faça um teste rápido e simples:
No eclipse, tire todas as suas dependências do Java Build Path e rode a aplicação. Talvez assim você consiga ver a exceção no console.
Para evitar este problema de não ter as dependências no classpath quando você empacota sua aplicação, sugiro o uso do FatJar (http://fjep.sourceforge.net/). Ele monta o seu jar com todas as dependências e já cria um classloader que lê tudo. É só rodar o jar e correr pro abraço.