terça-feira, 11 de setembro de 2007

Criando jars no Eclipse

Quem já tentou criar um .jar no Eclipse notou que a experiência não é das mais compensadoras. Criar o HelloWorld.jar é facílimo, ao melhor estilo NN(NN)F.

O problema surge quando você tenta exportar o ProgramaComercialComAcessoAMilharesDeBibliotecasEDriversExternos.jar

Eu precisei fazer isso, e nunca consegui sem passar umas duas horas tentando e acabar mexendo no manifest.txt na unha.

Daí eu conheci o FatJar (que nome lindo, FatJar. Tudo que é gordo impõe respeito). É um plugin do eclipse que faz o trabalho sujo pra gente.

Como instalar o fatjar:

Extraia a pasta "plugins" do arquivo zip que você baixou, recorte esta pasta e cole dentro da pasta do eclipse (se você usa windows, vai aparecer uma telinha dizendo que os arquivos duplicados serão sobrescritos, aperte "sim") e reinicie o eclipse.

Depois é só acessar:

File > Export > Other > Fat jar exporter.

(Se não existir o "Fat jar importer", vá na linha de comando, ache a pasta do eclipse e execute o comando eclipse -clean)
O resto é quase igual ao exportador "nativo" do Eclipse.

Se você precisa de um jar pra entregar na próxima aula, ou pra entregar amanhã, quando eles vão encerrar a fase de desenvolvimento do software, esse plugin pode ser a diferença entre você se dar bem ou ficar com aquela cara de coitado tentando fazer todo mundo acreditar que o cachorro comeu o seu pen drive.

Faça o download do FatJar aqui.
Veja a página do projeto aqui.

PS: O único contra que eu achei foi o fato de ele não se importar com aquilo que você quer. Se você usa apenas uma parte de uma biblioteca "abrangente" (um driver de conexao com banco de dados de uma biblioteca que oferece suporte a várias versões, por exemplo), ele enfia no seu jar a biblioteca toda, e não só aquela classezinha de 1kb que você precisa. Mas isso é absolutamente contornável, e bem mais fácil de ser resolvido do que fazer o treco todo na mão.

Um comentário:

Tom disse...

Valeu pela salvação. Realmente passar pela experiencia de editar um manifest.mf na força bruta é desconfortavel.
Continuem com essas dicas legais