salta alla navigazione

JAVA: Includere librerie jar dentro a un altro jar aprile 25, 2008

Inviato da davide in : Programmazione , trackback

JavaSe avete creato un progetto java che usa librerie jar esterne e volete esportarlo come jar “all-in-one”, questo piccolo task ANT può tornarvi senz’altro molto utile: non fa altro che scompattare il contenuto dei jar che usate come librerie all’interno del vostro file jar complessivo, permettendo di accedere alle risorse di cui avete bisogno. Non è infatti possibile includere archivi jar dentro ad un altro jar e tentare di accedere alle classi in essi definite.

<?xml version="1.0"?>
<!-- Task creato per unire tutte le librerie in un solo jar  -->
<project name="SimpleUploader" default="CreaJar">
 <target name="CreaJar">
  <!-- file di destinazione -->
  <jar destfile="SimpleUploader.jar">
   <!-- cartella contenente i file .class del progetto: -->
   <zipfileset dir="bin" prefix="" />
   <!-- librerie da includere: -->
   <zipfileset src="lib/jakarta-oro-2.0.8.jar" />
   <zipfileset src="lib/commons-net-1.4.1.jar" />

   <manifest>
    <attribute name="Main-Class" value="simpleuploader.gui.Gui" />
   </manifest>
  </jar>
 </target>
</project>

Su Eclipse, salvate questo codice come file xml, rinominate ciò che è opportuno (nome del progetto, Main-Class, etc…), dopodichè eseguitelo cliccando col tasto destro sopra al file -> run as -> Ant Build. Verrà creato il file jar col nome specificato dall’attributo destfile del tag <jar>
Come segnalato da gianni, il codice funziona anche in Netbeans.

A me è tornato spesso molto utile, spero possa esserlo anche per voi!

Commenti»

7. federico - febbraio 7, 2010

Ottima…Grazie mille!!

6. ivo - gennaio 19, 2010

ottimo ,
si riesce a creare dei jar eseguibili con solo due righe di codice ant in più
grazie !!!

5. Fabio - dicembre 10, 2009

Ciao ,ma scusa come faccio a partir del netbeans startare questo xml ??

4. Davide - luglio 17, 2009

Sei veramente un mito era proprio quello che mi serviva!
Non riuscivo a farlo con il widzard di eclipse.
Grazie 10000!!!!

3. davide - ottobre 31, 2008

ottimo, ho modificato l’articolo per segnalare anche la tua esperienza con Netbeans.

2. gianni - ottobre 31, 2008

grazie , sto facendo la tesi e ieri la prof mi ha preteso che mettessi dentro tutte le librerie magari usando fat jar sotto eclipse. Ma con la tua modifica, ho messo le righe nel file build.xml di netbeans e funziona bene lo stesso e non sono costretto a cambiare ambiente di svulippo.

1. Innestare jar dentro un jar, soluzione migliore? - NNTP.IT - luglio 18, 2008

[...] ciao, io su eclipse ho risolto usando un task ant… tempo fa ho scritto anche un post sul mio blog riguardo a questo, credo possa tornare utile: JAVA: Includere librerie jar dentro a un altro jar | New Digest [...]