[Resolvido] jar não acessa o banco de dados

Fiz meu programa utilizando NetBeans, e o banco de dados utilizando o pgAdmin III.
No NetBeans cliquei no projeto com o botão direito, e cliquei em “Limpar e construir” para gerar o arquivo jar.
Eu executo o jar normalmente, mas quando clico em alguma das opções que faz acesso ao banco de dados, o programa fecha.

Como eu faço para resolver isso

Boa tarde.

Rodando o seu sistema pelo NetBeans, ou seja, sem gerar o JAR, ele funciona perfeitamente?
Se sim, verifique se o JAR gerado contém todas as classes necessárias.

E também, está gerando alguma exceção?
Abraços.

Rodando pelo NetBeans ele funciona perfeitamente.
Ele não esta imprimindo as exceções em tela, mas acredito que ele esteja gerando alguma, pois ele fecha o programa quando é escolhida alguma opção que faça acesso ao banco.
O jar contem todas as classes do programa.
Talvez o que esteja faltando seja a biblioteca do banco, mas não sei se é isso, e se for, não sei como adicionar ela.

O conteúdo do MANIFEST que esta no jar é esse:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.6.0_21-b07 (Sun Microsystems Inc.)
Main-Class: projeto.Main
Class-Path: lib/postgresql-8.4-701.jdbc4.jar lib/postgresql-8.4-701.jd
bc4.jar lib/postgresql-8.4-701.jdbc4.jar
X-COMMENT: Main-Class will be added automatically by build

Cara se esta usando o netBeans para empacotar no .jar e esta usando outros .jars verifique se estes estão em uma pasta lib no mesmo diretotio do .jar

diretorio/
      aplicacao.jar
      lib/
          outrosjar.jar

Qualquer coisa posta ai valeu!

Wolmir Garbin

wolmirGarbin não entendi direito o que você falou.
Meu projeto tem 9 classes, e para utilizar o banco de dados do pgAdmin III eu baixei o arquvio jar “postgresql-8.4-701.jdbc4” e no NetBeans cliquei com o botão direito em bibliotecas, Adicionar Jar/pasta e adicionei o jar em bibliotecas.

Assim, você viu o seu manifest?
lib/postgresql-8.4-701.jdbc4.jar lib/postgresql-8.4-701.jd

Ele está indicando que existe um diretório lib e que neste diretório, existem todos estes jar.
Sendo assim, vamos supor que o JAR que você está executando, esteja no diretório C:\Sistema

Então, teria que ter uma “árvore” assim:

C:\Sistema\lib.

Ou seja, o diretório base de onde está executando o JAR deve conter uma pasta denominada LIB com os JARs correspondentes ao seu MANIFEST.

Entendi, valeu.
Com isso consegui resolver o problema.
Entrei no diretorio /dist onde está o jar executavel do programa, criei uma pasta lib, e adicionei o jar postgresql-8.4-701.jdbc4 nesta pasta.

Valeu pela ajuda nel e wolmirGarbin.

Nada cara, sempre que tiver dúvidas poste ai, o pessoal é bem atencioso.
Só adicione [Resolvido] ao lado do seu tópico, assim, todos saberemos que sua dúvida foi sanada :slight_smile:

Abraços.