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.
Exportar projeto com external jars no Eclipse
4 Respostas
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.
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.
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/
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.