Quote Originariamente inviata da magic_key Visualizza il messaggio
Se copio la libreria in C:\Program Files\Java\jre1.8.0_72\lib\ext non ho problemi e funziona davvero tutto a dovere
Sì, come semplice prova va bene. Usare la lib/ext però, in generale, ha dei limiti. Innanzitutto è "globale" per tutte le applicazioni che sono avviate con quello specifico JRE e se due applicazioni avessero bisogno di versioni differenti della stessa libreria, queste non puoi metterle entrambe nella lib/ext. Tra l'altro non c'è nemmeno un ordine di ricerca "garantito", quindi non sapresti a priori quale versione della libreria viene pescata per prima.
Inoltre le classi in jar in lib/ext vengono caricate con un classloader speciale che non "sa" nulla dello user classpath e quindi non va bene per tutte le librerie.
Pertanto, salvo casi particolari, la lib/ext non è poi così utile.

Quote Originariamente inviata da magic_key Visualizza il messaggio
ma vorrei incorporare la libreria insieme alla Classe così da avere un pacchetto singolo.. E' possibile?
I jar tecnicamente sono degli zip, quindi è tecnicamente possibile fondere insieme il contenuto di più jar a patto che non ci siano doppioni di classi/risorse. C'è il problema del "manifest" che in ogni jar è in un path fisso e ben preciso. Fare un "merge" di più manifest potrebbe non essere così semplice.

Inoltre il fornitore di una libreria potrebbe indicare nella licenza d'uso la richiesta/obbligo di non incorporare il suo jar in un altro.

Quindi in generale, anche questa opzione sarebbe da evitare.

Quote Originariamente inviata da magic_key Visualizza il messaggio
Al momento ho solo importato la libreria in Eclipse seguendo questi passaggi:
1) all'interno del progetto ho creato una cartella chiamata "lib"
2) al suo interno ho copiato la libreria JAR
3) tasto dx sul progetto > build path > configure build path
4) nel tab Libraries > Add JARs e caricato il tutto
E questo va bene finché sei nel IDE.

Se vuoi avviare la tua applicazione con:

java -jar myapp.jar

allora c'è un solo modo pulito per far sì che myapp.jar referenzi altre librerie, ovvero elencarle nell'attributo Class-Path nel manifest del tuo jar.

Quindi in sostanza avere nel MANIFEST.MF del tuo jar qualcosa tipo:

Class-Path: lib/nome1.jar lib/nome2.jar

Questo lo puoi fare a mano con il tool "jar" oppure con i tool di build es. Apache Ant.

Chiaramente poi ovunque ci sia il myapp.jar ci deve essere una cartella "lib" con dentro le librerie. Insomma la relazione tra i jar deve restare "relativa" in quel senso.