Allora, ancor prima di salutare tutti gli utilizzatori del forum vorrei fare una doverosa premessa: di Java non so praticamente nulla.
M'è toccato di realizzare una libreria in questo linguaggio e, grazie anche alle guide di HTML.it, devo dire che funziona benino e sono abbastanza soddisfatto solo che, ad un passo dal rilascio, c'è un aspetto che mi sfugge: cos'è una libreria in Java?
Faccio un passo indietro: utilizzando ad esempio C#, la compilazione di una libreria determina la generazione di un eseguibile .dll che deve essere distribuito nelle macchine che della libreria intendano utilizzare le funzionalità.
Se, sempre ad esempio, ho la libreria pippo.dll, posso creare una applicazione pluto.exe che la referenzi e, in seguito, distribuire sia pippo.dll che pluto.exe.
Realizzando la mia libreria in java, invece, mi sono accorto che il risultante pippo.jar non è necessario che sia presente sulla macchina target: pluto.class funziona di per sè.
Mi sembra, in pratica, che le librerie in java siano sempre linkate 'staticamente', a voler usare un termine caro anche ad altri compilatori.
Un grazie anticipato (ed un caffè pagato a quanti fossero dell'urbe zona colombo) a chiunque voglia essere così gentile da chiarirmi il concetto di libreria (jar) in java, sua distribuzione, sua relazione con l'eseguibile che ne rappresenta il consumatore.
Grazie e scusate se la domanda è troppo triviale.

Rispondi quotando
