.jar [RESOLVIDO]

Bom dia,

gostaria de saber como que crio um .jar que reconheça o drive do banco de dados. Pois eu criei um pelo eclipse mas ele não reconhece, portanto não abre o projeto. Obrigado.

[quote=lucaslzl]Bom dia,

gostaria de saber como que crio um .jar que reconheça o drive do banco de dados. Pois eu criei um pelo eclipse mas ele não reconhece, portanto não abre o projeto. Obrigado.[/quote]

Eu trabalho mais com o Netbeans, mas enfim, o processo é o mesmo.

Você precisa adicionar o jar do banco de dados no diretorio de bibliotecas do projeto, geralmente a pasta lib.

No netbeans, você dá um direito em Libraries e seleciona Add JAR/Folder e aí seleciona o .jar do banco em questão.

Feito isso, no momento que você fizer o “Build” da aplicação o driver do banco será exportado juntamente com ela, ficando no .jar.

Edit: Eu não lembro de cabeça como é o processo no Eclipse, mas mostrei no Netbeans apenas para apresentar a idéia.

[quote=jks1903][quote=lucaslzl]Bom dia,

gostaria de saber como que crio um .jar que reconheça o drive do banco de dados. Pois eu criei um pelo eclipse mas ele não reconhece, portanto não abre o projeto. Obrigado.[/quote]

Eu trabalho mais com o Netbeans, mas enfim, o processo é o mesmo.

Você precisa adicionar o jar do banco de dados no diretorio de bibliotecas do projeto, geralmente a pasta lib.

No netbeans, você dá um direito em Libraries e seleciona Add JAR/Folder e aí seleciona o .jar do banco em questão.

Feito isso, no momento que você fizer o “Build” da aplicação o driver do banco será exportado juntamente com ela, ficando no .jar.

Edit: Eu não lembro de cabeça como é o processo no Eclipse, mas mostrei no Netbeans apenas para apresentar a idéia.[/quote]

Na verdade, a IDE so resolve esse problema de dependencia quando vc roda o programa em conjunto com a IDE. Ao gerar um JAR, Voce tem que definir as dependencias do seu JAR no Class-Path do MANIFEST.MF.

Nesse caso, o driver de conexao ao banco de dados.

Manifest-Version: 1.0 Main-Class: ClasseExemplo Class-Path: caminho/driver-bd.jar

Da uma olhadinha nesse site para mais detalhes:
http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#Main%20Attributes

[quote=di.magdaleno][quote=jks1903][quote=lucaslzl]Bom dia,

gostaria de saber como que crio um .jar que reconheça o drive do banco de dados. Pois eu criei um pelo eclipse mas ele não reconhece, portanto não abre o projeto. Obrigado.[/quote]

Eu trabalho mais com o Netbeans, mas enfim, o processo é o mesmo.

Você precisa adicionar o jar do banco de dados no diretorio de bibliotecas do projeto, geralmente a pasta lib.

No netbeans, você dá um direito em Libraries e seleciona Add JAR/Folder e aí seleciona o .jar do banco em questão.

Feito isso, no momento que você fizer o “Build” da aplicação o driver do banco será exportado juntamente com ela, ficando no .jar.

Edit: Eu não lembro de cabeça como é o processo no Eclipse, mas mostrei no Netbeans apenas para apresentar a idéia.[/quote]

Na verdade, a IDE so resolve esse problema de dependencia quando vc roda o programa em conjunto com a IDE. Ao gerar um JAR, Voce tem que definir as dependencias do seu JAR no Class-Path do MANIFEST.MF.

Nesse caso, o driver de conexao ao banco de dados.

Manifest-Version: 1.0 Main-Class: ClasseExemplo Class-Path: caminho/driver-bd.jar

Da uma olhadinha nesse site para mais detalhes:
http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#Main%20Attributes[/quote]

Eu tenho mais contato com o ambiente web, onde no geral são criados .WAR, .EAR, etc. Nesses casos, ao adicionar o driver do banco de dados ao projeto, no momento em que eu exportar o mesmo para o servidor (em formato .war por exemplo), esse driver fica contido no projeto, bastando copiar esse .war para o ambiente de produção, sem me preocupar com tais dependências. Acreditava que para .jar fosse o mesmo, mas se realmente não for peço desculpas pelo equivoco.

di.magdaleno isso que você falou eu devo colocar no drive do banco de dados ou no .jar?

Sou iniciante no java, nunca gerei um executavel e nem um instalador.

[quote=lucaslzl]di.magdaleno isso que você falou eu devo colocar no drive do banco de dados ou no .jar?

Sou iniciante no java, nunca gerei um executavel e nem um instalador.[/quote]

O manifest.mf fica dentro do seu JAR.

Você gerou o JAR através de alguma IDE ou gerou na mão? Se tiver gerado através do Eclipse ou NetBeans esse arquivo já vai estar dentro so seu JAR. É só abrir e editá-lo inserindo o caminho do driver do banco de dados no Class-Path do arquivo como coloquei no post anterior.

O arquivo está no seguinte diretório dentro do JAR: META-INF/MANIFEST.MF

O manifest deve ficar mais ou menos assim:

Manifest-Version: 1.0 Main-Class: ClassePrincipal Class-Path: diretorio/driver-bd.jar

Ok, vou tentar, muito obrigado.

De nada!! :thumbup:
Qualquer duvida posta ai!

Pelo eclipse existe uma opção no “export” que chama “Runnable Jar File” que já pega as bibliotecas que importei no processo de criação, acabei de descobrir isso ;).

Muito obrigado.