Exportar projeto com external jars no Eclipse

4 respostas
FkJ

Gostaria de saber como faço para exportar um projeto no Eclipse como JAR juntamente com os external jars adicionados, ou seja, criar um standalone. Tentei o plugin fat jar mas deu erro.

4 Respostas

tiagomac

Eu me encontro com a mesma dúvida e tava entrando aqui até para pedir socorro…

eu tenho meu projeto em .jar, exportei corretamente e executo ele c/ 2 cliques até, no manifest.mf eu declarei na penultima linha: Class-Path: mysql-connector-java-5.0.4-bin.jar
dessa forma, ele procura pelo driver jdbc na mesma pasta onde se encontra o programa.jar…
mas, se eu quiser colocar o driver do jdbc dentro do .jar, para tirar esse incoveniênte de precisar mover ambos, é possível? tentei de tudo e nada deu certo :(! um abraço a todos.

FkJ

Pensando bem, como vou usar Java Web Start, o mais indicado seria que JAR principal enxergasse os demais no sistema de arquivos. Seria interessante porque ele tem menos de 70KB e vai ser alterado com maior frequência, enquanto os jars externos ultrapassam 770KB e dificilmente serão alterados, portanto seria um inconveniente ter que fazer download de tudo novamente toda vez que o jar principal fosse alterado, já que muitos usuários usam linha discada.

FkJ

Resolvido, jars assinados de terceiros devem ser chamados por uma tag extension no arquivo jnlp. Esse link explica como fazer: http://www-128.ibm.com/developerworks/websphere/library/techarticles/0402_winchester/0402_winchester.html

tiagomac, esse plugin deve resolver seu problema
http://fjep.sourceforge.net/

antoniopopete

Na verdade quando você usa external jar,você deve usar seu próprio arquivo manifesto.mf e explicitar nele os arquivos jar que você quer exportar separados por 1 espaço,segue um exemplo:

Manifest-Version: 1.0 Main-Class: aplicacao.gui.Gui Class-Path: lib/log4j-1.2.14.jar
Após a linha Class-Path,é recomendável adicionar 1 linha,se der erro,tente com duas,e coloque a última instrução como Class-Path,não recomendo trocar a ordem,tive muitos problemas com esse arquivo…E nessa estrutura funciona.
Detalhe,no meu caso lib,é uma pasta da minha aplicação onde reside todas as minhas libs.Se você guarda seu jar em outra pasta,coloque o nome da pasta,senão usa pastas,coloque apenas o nome do jar.

Criado 22 de janeiro de 2007
Ultima resposta 28 de jan. de 2007
Respostas 4
Participantes 3