Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
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?
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 ...
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.
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).
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).