Non sempre è possibile ed è fortemente scoraggiato farlo anche quando è "tecnicamente" possibile. Per diverse, validissime, ragioni:
1) Le librerie sono, appunto, librerie: non sono software tuo, non le sviluppi tu e quindi non è concettualmente corretto che vengano incorporate nel tuo software
2) Le librerie sono soggette ad aggiornamenti: se fossero tutte contenute nel tuo JAR, l'aggiornamento sarebbe impossibile (o, quantomeno, molto oneroso: dovresti spacchettare tutto, aggiornare e re-impacchettare tutto)
3) Alcune librerie sono "sealed": sono, cioè, impacchettate in un jar con un determinato nome e non possono funzionare se non dentro a quel particolare jar; queste non possono essere incorporate.
4) Alcuni produttori di libreria vietano questa pratica, per ovvie ragioni.
Più che "complicato" è "controproducente". Conviene sempre tenerle separate e distribuirle "al di fuori" del JAR... la fatica è la stessa: fai un file ZIP con dentro il JAR e la directory "lib"... fatto.PS se è troppo complicato mi accontento di questo
Ovviamente sì.PPS ma il "problema" si pone ogni volta che utilizzerò una libreria esterna
Ciao.![]()