Jar não executa driver do Sql Server [RESOLVIDO!]

5 respostas
briansiervi

Pessoal, bom dia.

 li vários tópicos sobre este assunto, mas até agora nenhum deles resolveu o meu problema.
 Eu fiz uma aplicação swing com conexão ao Sql Server que, dentro do Eclipse, executa sem problemas. Porém, quando exporto o jar, e o executo, aparecem os seguintes erros:

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver java.sql.SQLException: No suitable driver found for jdbc:jtds:sqlserver:
Eu estou usando o JTDS 1.2.5 e já habilitei Tcp/Ip no Sql Server e importei corretamente os arquivos jar’s em “Build Path” > “Configure Build Path” > “Add Jars”

Eu li em alguns fóruns, que uma provável solução seria adicionar ao Manifest.mf a linha de código abaixo,  que também estou utilizando a biblioteca POI para manipular arquivos ".xls":
Class-Path: jtds-1.2.5.jar poi-3.8-beta2-20110408.jar poi-examples-3.8-beta2-20110408.jar poi-ooxml-3.8-beta2-20110408.jar poi-ooxml-schemas-3.8-beta2-20110408.jar poi-scratchpad-3.8-beta2-20110408.jar
Porém, quando tento fazer isso, não obtenho êxito...

  tentei criar um arquivo dentro do package chamado Manifest.mf(adicionando o código acima às configurações padrões)  , e posteriormente gerá-lo dentro do jar [indo em "Export" > "Jar File" > Jar File Specification > Jar Packaging Options > Jar Manifest Specification(Use existing manifest from workspace = src/META-INF/MANIFEST.MF / Main class = Teste.java) >  Finish].

 Mas, quando o jar é gerado, o manifest gerado continua sendo o padrão.
 Alguém  passou por isso?! Muito obrigado.

5 Respostas

brunorota

Tenta clicar com o botão direito no projeto, ir em Export depois em Runnable Jar File

briansiervi

brunorota,

A interface gráfica é criada normalmente através do Jar. Clicando sobre ele, o executamos sem problemas.
Os menus e submenus funcionam normalmente, com exceção da conexão ao banco de dados, que apresenta o erro descrito acima.

Obrigado.

briansiervi

Mais ninguém???

briansiervi

Passei 1 semana procurando essa informação…

Eu achava que a pasta lib deveria ficar dentro do jar, e não fora…
Agora entendi que o manifest aponta para uma pasta externa ao jar, chamada lib por padrão…

Então, para quem tem a mesma dúvida, solucionei da seguinte forma:

Dentro do eclipse, a árvore do package explorer ficou assim:

--Projeto -- --src --arquivos --Classe1.java --Classe2.java --Classe3.java --imagens -- imagem1.jpg -- --JRE System Library -- --META-INFO --MANIFEST.MF

E dentro do MANIFEST.MF ficou assim:

Manifest-Version: 1.0 Class-Path: lib/jtds-1.2.5.jar lib/poi-3.8-beta2-20110408.jar lib/poi-excelant-3.8-beta2-20110408.jar lib/poi-ooxml-3.8-beta2-20110408.jar lib/poi-ooxml-schemas-3.8-beta2-20110408.jar lib/poi-scratchpad-3.8-beta2-20110408.jar Sealed: true Main-Class: arquivos.Classe1

Daí, exportei o Jar , criei uma pasta chamada Teste em meu Desktop e outra dentro dela chamada lib.
Coloquei o Jar dentro da pasta Teste e os drivers dentro da pasta lib.

E pronto! Funcionou!
Espero ter ajudado.

M

Funcionou! :slight_smile: Obg

Criado 16 de maio de 2011
Ultima resposta 22 de mai. de 2014
Respostas 5
Participantes 3