.jar executável [resolvido]

Bom dia galera,

preciso fazer um teste no meu sistema antes de dizer que terminei,
quando gero meu .jar executável e tento executar em outro pc da um erro: A Java Exception has occurred.

meu banco de dados é mysql e estou desenvolvendo com IDE netBeans 7.1

minha URL de conexão está assim: “jdbc:mysql://localhost/meu_projeto?user=root&password=”

O que preciso levar pra minha outra máquina para rodar o sistema?

Preciso instalar o mysql na máquina?

Preciso colocar o ip no driver em vez de colocar localhost

O que preciso fazer?

Desde já agradeço!

E qual é a exception que o erro descreve?

Ou vc andou engolindo exceptions no seu sistema com coisas como:

try { ... } catch (Exception e) { }

Ou

try {
  ...
} catch (Exception e) {
   System.out.println(e.getMessage());
}

?

[quote=ViniGodoy]E qual é a exception que o erro descreve?

Ou vc andou engolindo exceptions no seu sistema com coisas como:

try { ... } catch (Exception e) { }

Ou

try {
  ...
} catch (Exception e) {
   System.out.println(e.getMessage());
}

?[/quote]

Então viniGodoy, pode acontecendo isso que você falou.

no pc que está dando erro um outro projeto que não usa banco de dados funciona normalmente.

o projeto com bd no pc que foi desenvolvido roda normalmente, mas no outro não.

Ok. A primeira coisa que você tem que fazer é tentar conseguir qual exception seu programa lança.
Para isso, revise os pontos onde ele pode lançar exceção, e tente loga-los.

Uma boa também é tentar rodar sua aplicação no console, e ver se a exceção não aparece na janelinha preta do prompt.

Só dizer que “deu erro” não adianta nada. Temos que saber qual erro e em que lugar.

[quote=ViniGodoy]Ok. A primeira coisa que você tem que fazer é tentar conseguir qual exception seu programa lança.
Para isso, revise os pontos onde ele pode lançar exceção, e tente loga-los.

Uma boa também é tentar rodar sua aplicação no console, e ver se a exceção não aparece na janelinha preta do prompt.

Só dizer que “deu erro” não adianta nada. Temos que saber qual erro e em que lugar.
[/quote]

Perfeito!

Concordo plenamente.

hora que achar algo posto aki, conto com sua ajuda.

[quote=trudes][quote=ViniGodoy]Ok. A primeira coisa que você tem que fazer é tentar conseguir qual exception seu programa lança.
Para isso, revise os pontos onde ele pode lançar exceção, e tente loga-los.

Uma boa também é tentar rodar sua aplicação no console, e ver se a exceção não aparece na janelinha preta do prompt.

Só dizer que “deu erro” não adianta nada. Temos que saber qual erro e em que lugar.
[/quote]

Perfeito!

Concordo plenamente.

hora que achar algo posto aki, conto com sua ajuda.[/quote]

Voltei … revisei todos os try catch e nada. continua a msm mensagem!

Rodou pelo console?

Depois de um tempinho achei o catch que té dando o erro.

é um jDateChooser que eu estou usando. está dando o erro nullpointerexception.

ele tem um evento txt_dataPropertyChange.

Sabe o que eu posso fazer para acabar com o erro?

acredito que seja por ele iniciar vazio.

Se faz sentido ele estar vazio, testa com um if se ele está nulo.
Caso contrário, não inicie ele vazio.

Se faz sentido ele estar vazio, testa com um if se ele está nulo.
Caso contrário, não inicie ele vazio.[/quote]

Testei e ele está nulo msm.

quando carrega o form chama o evento e tenta executar a função que é uma consulta ao banco.

tem outro evento que eu possa usar ou é esse msm e a solução é outra?

Se faz sentido ele estar vazio, testa com um if se ele está nulo.
Caso contrário, não inicie ele vazio.[/quote]

Testei e ele está nulo msm.

quando carrega o form chama o evento e tenta executar a função que é uma consulta ao banco.

tem outro evento que eu possa usar ou é esse msm e a solução é outra?[/quote]
Bom dia,

Depois de percorrer as classes do projeto, corrigir os catch engolidos e resolver as exceptions, voltei a tentativa de rodar o sistema em outra máquina,

estou levando a pasta dist inteira para a outra máquina com o .jar e a pasta lib dentro(não sei se tem alguma diferença de levar somente o arquivo, ou uma pasta correta para colocar, estou rodando do pen drive.).

o problema agora é com o a fonte de dados. Segue o erro:

"Erro na conexão com a fonte de dados: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database ‘meu_projeto’ "

logo depois outra JOptionPane aparece com o erro: “Erro ao retornar resultset null”

Desde já agradeço quem puder me ajudar!!

O problema é que na sua connection String, você indica o localhost:
jdbc:mysql://localhost

Isso significa que você tem que ter um mysql instalado na máquina que rodará seu programa.

Se seu mysql estará numa máquina externa, substitua localhost pelo endereço da máquina na rede.

Você pode obter o endereço entrando no prompt de comando e digitando ipconfig. Ele estará ao lado de “Endereço ipv4”.

Aí sua conection string ficará parecida com:

"jdbc:mysql://129.214.110.5/meu_projeto?user=root&password=" 

[quote=ViniGodoy]O problema é que na sua connection String, você indica o localhost:
jdbc:mysql://localhost

Isso significa que você tem que ter um mysql instalado na máquina que rodará seu programa.

Se seu mysql estará numa máquina externa, substitua localhost pelo endereço da máquina na rede.

Você pode obter o endereço entrando no prompt de comando e digitando ipconfig. Ele estará ao lado de “Endereço ipv4”.

Aí sua conection string ficará parecida com:

"jdbc:mysql://129.214.110.5/meu_projeto?user=root&password=" 

mais a máquina que eu estou tentando rodar o sistema tá com o mysql 5.0 instalado, então poderia ficar como localhost, ou não?

Poderia. No mysql dessa máquina você tem um banco de dados chamado meu_projeto?

Poderia. No mysql dessa máquina você tem um banco de dados chamado meu_projeto?[/quote]

Po cara, que coisa feia!!!

Como uma aplicação roda sem banco? hehehe

mals ae, eu achei que o banco tbm ia com o jar.

resolvido então!!

Obrigado!!!

Não, o MySQL é software que gerencia os bancos de dados. São dentro dele que os bancos ficam.
Normalmente, uma aplicação roda em várias máquinas, mas com um só banco de dados na rede.

Assim, os dados inseridos por uma pessoa podem ser vistos por todos os outros usuários da aplicação.

Existem alguns bancos de dados feitos para serem embarcados, ou seja, fazerem parte da aplicação. É o caso do HSQLDB e do JavaDB. Em geral, são bancos simples e com muito menos poder de fogo do que o MySQL.