Newsgroup: it.comp.java
Titolo: Creare un jar da programma

Qual'e' il modo piu' semplice per creare un file jar di una cartella
da dentro un programma java? E per scompattare il file?
Ho dato uno sguardo al package java.util.jar ma ho visto che il suo
utilizzo e' piuttosto macchinoso (occorre ciclare sui singoli file e
inserirli all'interno del jar).
Avrei scommesso che esistesse gia' una classe con dei metodi che
passando pochi parametri (file di destinazione, path della cartella da
comprimere, ecc.) mi creasse il jar, ma non sono riuscito a trovarla.
Possibile che non esista niente del genere?
Andrea Polci

Ciao, Andrea!
Il giorno 15/07/2004 alle ore 17:08 hai scritto:
 AP> Ho dato uno sguardo al package java.util.jar ma ho visto che il suo
 AP> utilizzo e' piuttosto macchinoso (occorre ciclare sui singoli file e
 AP> inserirli all'interno del jar).
Caspita che fatica... neanche dovessi comprimere i byte con la
calcolatrice...
 AP> Possibile che non esista niente del genere?
Se non esiste si fa.
Bye
-- 
There is no passion; There is serenity.
http://www.maccasoft.com

ant.
-- 
Davide Consonni
davidec...@virgilio.it
http://csvtosql.sourceforge.net

 Se non esiste si fa.
Non ho mica detto che non sono in grado di farlo o che non voglio farlo 
(a parte il fatto che il problema e' di un mio collega e io gli sto solo 
dando una mano).
Volevo solo dire che mi sembra un problema tanto comune che mi 
meraviglia il fatto che non ci sia qualcosa di gia' pronto. Soprattutto, 
visto che di cose da fare ne abbiamo in abbondanza, volevamo evitare di 
perndere tempo per poi scoprire che c'era tale libreria XXXX che faceva 
esattamente quello che ci serviva.
Nel frattempo, tra l'altro, il mio collega ha gia' fatto un primo 
tentativo, ma ha incontrato delle difficolta'. Riesce a creare il jar 
(anzi, nel caso specifico e' un war, ma se non sbaglio cambia solo 
l'estensione) e sembra anche ben fatto (si riesce a scompattare con 
winzip tanto per fare un esempio). Sembra pero' che tale file non vada 
giu' a Tomcat che si rifiuta di deployarlo (mettendolo in webapps, viene 
creata la cartella dell'applicazione ma non vi viene scompattato nulla e 
l'applicazione, ovviamente, non parte).
La cosa divertente e' che scompattando il file con winzip, per poi 
creare un nuovo file (sempre con winzip) questo viene accettato da 
tomcat senza problemi (il problema non e' quindi nel contenuto).
Qualche suggerimento?
Andrea

 ant.
Ci avevamo pensato ma volevamo evitare di richiedere l'installazione di 
ant agli utilizzatori del nostro programma.
Non e' che e' possibile sfruttare le classi di ant, senza passare per il 
programma? Forse questa sarebbe la soluzione ideale.
Andrea

 programma? Forse questa sarebbe la soluzione ideale.
beh ant č un deploy tool, serve a te poi ci fai il jar dell'applicazione e
la distribuisci,
lasci magari dentro lo script cosě se uno lo vuole usare lo usa ...


 lasci magari dentro lo script cosě se uno lo vuole usare lo usa ...
Il mio problema e' che devo fare un deploy tool, un programma di 
installazione.
Mi spiego meglio. La ditta dove lavoro realizza diversi moduli che vanno 
composti per formare un'unica applicazione.
Purtroppo ogni cliente puo' avere una diversa combinazione di questi 
moduli (vi lascio solo immaginare i problemi di compatibilita' fra le 
diverse versioni) e quindi la composizione in un war deve essere fatta 
presso il cliente ad ogni installazione (anche perche' in questa fase 
vanno fatte una serie di operazioni di configurazione e di preparazione 
della base dati).
In pratica il nostro tool (fra le alte cose) deve prendere un insieme di 
jar che rilasciamo, scompattarne alcuni, copiarne altri in una certa 
posizione, fare delle oprazioni di vario tipo e poi creare il war. 
Alcune di queste operazioni si farebbero facilmente con ant (non tutte 
comunque), ma non posso chiedere al cliente di installarselo.
Qualche suggerimento su come trattare i jar e i war?
Andrea

> comunque), ma non posso chiedere al cliente di installarselo.
perchè ?
imho ant si può usare da codice e quindi senza installarlo.


 imho ant si può usare da codice e quindi senza installarlo.
Ok, allora mi studio questa possibilita', grazie del suggerimento.
Andrea