Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Importazione file jar: dov'è nella cartella?
Forum - Java - Importazione file jar: dov'è nella cartella?

Avatar
bruno.demarini (Normal User)
Pro


Messaggi: 84
Iscritto: 22/03/2010

Segnala al moderatore
Postato alle 19:30
Lunedì, 01/09/2014
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!

PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 20:19
Lunedì, 01/09/2014
Non ho mai usato Netbeans, comunque quello di cui stai parlando è una questione riguardante il classpath (http://en.m.wikipedia.org/wiki/Classpath_(Java)), 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: https://blogs.oracle.com/roumen/entry/hacking_netbeans_5_bo ...

PM Quote
Avatar
bruno.demarini (Normal User)
Pro


Messaggi: 84
Iscritto: 22/03/2010

Segnala al moderatore
Postato alle 14:19
Mercoledì, 03/09/2014
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.

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 17:35
Giovedì, 04/09/2014
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).

PM Quote
Avatar
bruno.demarini (Normal User)
Pro


Messaggi: 84
Iscritto: 22/03/2010

Segnala al moderatore
Postato alle 21:50
Lunedì, 08/09/2014
Testo quotato

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!!

PM Quote