Problemas na Geração do jar com Dependências - Eclipse

Olá pessoal,

Estou com um problema na hora de gerar o jar no eclipse. O programa está executando no console 100%, mas quando executo o jar dá erro no driver mysql.

Estou usando duas dependencias adicionais jar, mysql_connector.jar e commons-net.jar
Adicionei as bibliotecas adicionais pelo Projects >> Properties >> Java Build Path >> Libraries >> Add External Jar.
O eclipse adiciona o jar compila e executa corretamente, mas quando vou gerar o jar dá problema.
Creio que não esteja chamando as dependencias corretamente na hora de executar…

Alguém poderia dar um help?

Obrigado.

Alguém?

Coloca em uma pasta no seu projeto esse jar e adiciona no build path desta pasta que esta no seu projeto… se estiver fazendo assim blza dae tem que analizar.

Amigo, fiz da seguinte maneira:

Criei a buil path no diretorio do projeto /lib

/lib/mysql_connector.jar
/lib/commons-net.jar

Exportei no eclipse o arquivo jar.

Quando executo dá o mesmo problema, sendo que no diretorio do arquivo jar criado, criei a mesma pasta lib com as dependências…

Acho q tem alguma coisa a ver com o mainclass, pois para gerar o jar estou selecionando a classe de inicialização para cria-lo sozinho, logo não está lincando as dependências…

opa, coloca classpath com a referencia desses jars externos no arquivo manifest do seu .jar aplicacao…
depois coloque esses jars externos na mesma pasta do .jar aplicacao…

falow

[quote=darkroger]opa, coloca classpath com a referencia desses jars externos no arquivo manifest do seu .jar aplicacao…
depois coloque esses jars externos na mesma pasta do .jar aplicacao…

falow[/quote]

Pois é amigo, o problema esta ai…
Não sei como referenciar os jar dentro do mainfest…
O Eclipse cria o mainfest automaticamente.

Como faço pra criá-lo?

Não, não! Soluções muito complicadas!!!

Melhor mesmo é fazer assim:

Abra o menu Project, vá até Import, e IMPORTE a classe do MySQL.

Depois, claro, dê um Refresh no seu projeto no Package Explorer.

E agora, dê um Export, JAR File, especifique as coisas todas (tipo a classe que contém o MAIN, etc.) e assim por diante… Tu já sabes criar um JAR, né?

Se tiveres mais dúvidas sobre isso e não fizer idéia sobre as coisas que acabo de falar, eu fiz um tutorial com imgens mostrando como se faz, em qual menu ir, e posso te passar.

Ah! Me desculpe! Eu não li com atenção e não vi que tu não sabes criar o JAR.

Antes de fazer o JAR, tu tens mesmo que clicar no teu projeto com o botõ direito e escolher IMPORT, catando o arquivo JAR que tem as classes do MySQL.

Bom. Vamos lá.
No Eclipse, tu clicas com o botão direito sobre o teu projeto no Package Explorer (que é aquela árvorezinha de classes que fica do lado direito da tela).

Depois, tu escolhes o EXPORT. Daí, tem umas opções que tu vais vasculhar ali, e encontrar JAR FILE. Esse é o caminho. Ele fica dentro da aba Java.

Daí, vai te aparecer uma tela com umas opções. O mais importante é usar o botão BROWSE na parte de baixo da tela e escolher onde tu queres gravar teu JAR quando ele ficar pronto. Daí, clica no Next.

Depois vem uma segunda tela que nõ tem lá grande coisa, e uma onde tu podes escolher usar um MANIFEST feito por ti ou pedir que o Eclipse GENERATE ele. Tu vais escolher isso aí, a segunda opção. Ela normalmente vem marcada.

Embaixo, tem um botão BROWSE que serve para tu escolheres qual é a classe que contém o método MAIN que será rodado como “principal” do programa. Cate a tua classe principal ali, e pronto!

Só agora criar o JAR. E rodar ele depois. Vá ser feliz.

Qulquer dúvida, volte a escrever.

sim, o manifest é criado automaticamente pelo eclipse quando vc gera o .jar. vc pode edita-lo abrindo o seu jar aplicacao com o winrar ou inzip, ele fica dentro da pasta meta-inf, vou pegar um exemplo aqui de manifest e posto aqui…

ta ai o manifest como exemplo…insira o classpath disendo quais sao os jars externos que vc usa no manifest, como no exemplo, dp coloque esses jars externos na mesma pasta do jar aplicacao…isso deve resolver seu problema…
falow

Passei por um problema parecido com dependencias na criacao de uma jar, a solucao foi um plugin chamado
FatJar

[quote=fabio.b.salvador]Ah! Me desculpe! Eu não li com atenção e não vi que tu não sabes criar o JAR.

Antes de fazer o JAR, tu tens mesmo que clicar no teu projeto com o botõ direito e escolher IMPORT, catando o arquivo JAR que tem as classes do MySQL.

Bom. Vamos lá.
No Eclipse, tu clicas com o botão direito sobre o teu projeto no Package Explorer (que é aquela árvorezinha de classes que fica do lado direito da tela).

Depois, tu escolhes o EXPORT. Daí, tem umas opções que tu vais vasculhar ali, e encontrar JAR FILE. Esse é o caminho. Ele fica dentro da aba Java.

Daí, vai te aparecer uma tela com umas opções. O mais importante é usar o botão BROWSE na parte de baixo da tela e escolher onde tu queres gravar teu JAR quando ele ficar pronto. Daí, clica no Next.

Depois vem uma segunda tela que nõ tem lá grande coisa, e uma onde tu podes escolher usar um MANIFEST feito por ti ou pedir que o Eclipse GENERATE ele. Tu vais escolher isso aí, a segunda opção. Ela normalmente vem marcada.

Embaixo, tem um botão BROWSE que serve para tu escolheres qual é a classe que contém o método MAIN que será rodado como “principal” do programa. Cate a tua classe principal ali, e pronto!

Só agora criar o JAR. E rodar ele depois. Vá ser feliz.

Qulquer dúvida, volte a escrever.
[/quote]

Amigo quanto a isso ok!!!
Esse método de criação de jar eu sei.
O problema é o seguinte, para o mysql_connecto, consigo fazer funcionar blz com o import no jar, basta colocar o mysql_connector.jar no diretorio do arquivo jar criado e pronto, funciona legal.
Agora com o commons-net não funciona o import, dá erro em várias classes…
Só consigo executar o ftp se inserir o commons pelo build path.

Só que após inseridas as jar pelo build path, crio o jar, mas na hora de executar o programa não encontra as mesmas… Entende???

Daí, meu velho, tu vais ter mesmo que usar a plug-in de criar Fat Jar.

Criar um Fat jar não difere muito de criar um JAR comum, mas tem umas opções a mais. Tu vais ver que não é um bicho de sete cabeças.

Pegue a plug-in neste endereço: http://fjep.sourceforge.net/ e seja feliz.

[quote=darkroger]ta ai o manifest como exemplo…insira o classpath disendo quais sao os jars externos que vc usa no manifest, como no exemplo, dp coloque esses jars externos na mesma pasta do jar aplicacao…isso deve resolver seu problema…
falow[/quote]

Consegui pessoal!!!
Então amigo, criei um MANIFEST.MF com os class-path e ainda não funcionou.
O problema que não estava funcionando é que durante o processo de exportação no eclipse estava exportanto o manifest do meu projeto, e mesmo criando um manifest na hora de exportar ele sobrescrevia e perdia as referencias as dependencias.
Ai coloquei para exportar somente as classes, e setei com o manifest que criei com os class-path. Agora está funcionando legal.

Obrigado pelas dicas…
Vlw Galera