Originariamente inviato da swanelvis
Salve a tutti,
devo creare una libreria di classi in formato .jar .
Nessuna delle classi è di tipo main class .
Nel seguito mostro l'organizzazione delle directory che deve possedere la libreria :

agtk.jar -->agtk -->ag (contiene AG.class)--> parser (contiene AgP.class)
......... |.........|....................................... ......................................
......... |......... --> agf (contiene AgfError.class).................................
......... |................................................. ......................................
......... |................................................. ......................................
......... --> util (contiene FileUtil.class)................................... ..........

Sottolineo che in tale struttura ho inserito, in parentesi tonde, anche la posizione di alcuni file class che devono appartenere alla libreria. Quindi come posso creare una libreria con tale struttura ? Ricordo che non vi è nessuna delle classi di tipo Main.
Innanzitutto si suppone (e spero che tu l'abbia pensato proprio così) che quelle cartelle che devono essere presenti nel jar "riflettano" i package delle classi.

Ossia, hai le classi:

util.FileUtil
agtk.agf.AgfError
agtk.ag.AG
agtk.ag.parser.AgP

In tal caso crei su disco una struttura esattamente come l'hai pensata, compili (i file .class devono essere con la stessa identica struttura) e poi crei il jar tirando dentro le directory.

Non so come compili ... da un IDE? A mano con i tools del JDK??
Creare un tale jar con il comando 'jar' del JDK è davvero molto semplice: ti posizioni sulla directory "base" (quella che contiene util e agtk) e dai:

jar cf tuofile.jar *.class