Oppure

Loading
01/09/14 17:30
bruno.demarini
Ciao a tutti, vorrei chiedere un'informazione sull'importazione di librerie in un'applicazione locale. Nel mio programma, per connettermi a un database MySQL, ho importato la libreria mysql-connector-java-5.1.32-bin.jar usando Netbeans, specificando il suo percorso: C:\Program Files (x86)\MySQL\MySQL Connector J
Tutto funziona, ma poiché nella cartella del mio programma (D:\NetBeans_files\ProvaDB01) non c'è alcun file .jar mi chiedo: se eseguo il programma su un altro computer funzionerà ancora? Dove andrà a cercare il file .jar importato? Devo per caso inserire il file jar nella cartella del mio programma e solo poi importarlo?

Spero di essermi spiegato e grazie in anticipo!
aaa
01/09/14 18:19
GN
Non ho mai usato Netbeans, comunque quello di cui stai parlando è una questione riguardante il classpath (en.m.wikipedia.org/wiki/…), cioè il percorso dove Java cerca le classi da caricare; ogni elemento del classpath (cartella, jar o zip) può essere indicato con un percorso assoluto o relativo; quindi dato che il file della libreria non è stato copiato nella cartella di output probabilmente è indicato nel classpath come percorso assoluto e probabilmente non funzionerà su un'altro computer, a meno che l'utente non abbia la libreria nella stessa cartella dove ce l'hai tu. Per risolvere potresti copiare la libreria nella cartella del programma e impostare il percorso relativo nel classpath.
Se la tua applicazione viene compilata in un jar, potresti aggiungere il nome del jar della libreria (solo il nome e non un percorso assoluto dato che si trova nella stessa cartella) alla voce Classpath del file manifest.
Ripeto che non conosco netbeans, comunque qui sembra esserci spiegato come farlo: blogs.oracle.com/roumen/entry/…
aaa
03/09/14 12:19
bruno.demarini
Ho capito, grazie per la risposta. Comunque, ho notato che, in Netbeans, importando la libreria e usando "Clean and build" del menu Run, il file jar viene inserito nella sottocartella lib della cartella dist, in cui è presente il jar del programma.
aaa
04/09/14 15:35
Bonny
Ciao Bruno,
infatti l'operazione di build genera la release e si porta dietro anche le dipendenze.
Ma per avviare l'applicazione mediante il jar vale tutto ciò che ha detto GN, la dist è solo un export niente di più.

PS: Questo comportamento di NetBeans è opzionale (vedi Project -> Properties -> Packanging -> Copy Dependent Libraries).
aaa
08/09/14 19:50
bruno.demarini
Postato originariamente da Bonny:

Ciao Bruno,
infatti l'operazione di build genera la release e si porta dietro anche le dipendenze.
Ma per avviare l'applicazione mediante il jar vale tutto ciò che ha detto GN, la dist è solo un export niente di più.

PS: Questo comportamento di NetBeans è opzionale (vedi Project -> Properties -> Packanging -> Copy Dependent Libraries).


Grazie Bonny!!
aaa