Estou usando o eclipse e fiz um sistema usando o postgre, no eclipse quando eu rodo o meu sistema e funciona perfeitamente tudo certo, mas quando eu exporto e abro o arquivo .jar ele nao consegui achar o org.posgre.Drive, como se nao tivesse expotado o drive do postgre(coloquei o drive dele num pacote chamado lib e usei o buith path ) o que houve de errado?
Outra pergunta esse mesmo sistema apesar de nao fazer nenhuma operaçao com sql, ele abre o sistema mostrando tudo os botões (toda a parte grafica), mas quando eu pego nesse mesmo arquivo e rodo no meu laptop, que tem o win98 ele nao roda, diz que nao esta achando a classe main por que isso? já erra para rodar em qualquer lugar que tenha uma maquina virtual? e se em um ele acha o metodo main e no outro nao acha?
Obs:a versao do j2sdk dos dois sao diferentes e no eclipse eu defino qual é a classe main.
Quando a JVM diz que não conseguiu encontrar o método main, não quer dizer muita coisa, pois se houver outro erro que impeça que o main seja executado (como o caso do driver) ele dará essa mensagem também.
O problema é que você não colocou o driver na outra maquina, não dá pra colocar um jar dentro do outro, então, o jar do driver não está sendo exportado para dentro do seu, para indicar a localização do driver você tem algumas opções:
- Adicionar o path do jar do driver na variável de ambiente CLASSPATH
- Indicar o path do jar do driver no parametro -cp da JVM
- Adicionar a linha Class-Path no manifest.mf do seu jar, indicando uma path relativo para onde está o driver, geralmente o jar do driver é colocado em uma pasta lib que fica no mesmo diretorio do seu jar, ou pode colocar os dois jar’s juntos mesmo.
A 3 é a melhor forma, pois você não precisará ficar editando configurações ou criando ícones em toda maquina que precisar executar sua aplicação. Edite o arquivo manifest.mf e adicione a linha:
Class-Path: lib/driver-postgresql.jar
Crie uma pasta lib dentro da pasta onde está seu jar e coloque o driver-postgresql.jar dentro dela.
Eu consegui fazer da forma que vc sujeriu no item 3, o sistema funcionou no xp, mas no win98 o mesmo sistema esta dando erro dizendo que nao acha o metodo main
Você copiou o jar junto com a pasta lib para o outro computador? Ou só levou o seu jar? Se não copiar o jar do driver não adianta. E execute o jar a partir do console para você ver que exceção está lançando, use o comando:
java -jar sua_app.jar
Olah pessoa, espero que este post ajude quem passar por aqui!!
Este eh um exemplo simples, mas completo, de uma aplicacao que coloca um registro num banco de dados MySQL.