Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613

    [Java] java.lang.NoClassDefFoundError cambio cartella

    Ciao a tutti,
    utilizzo NetBeans 7.0.1, nelle proprietà di un progetto, alla voce "Librerie/Compile" ho aggiunto i JAR delle librerie necessarie per il funzionamento del mio programma (CsvReader e JTDS) che si trovano nella cartella lib, ovvero la mia struttura è questa

    Progetto in
    netbeans/com/nomeazienda/nomeprogetto

    Librerie in
    netbeans/lib


    Al momento della compilazione non viene restituito nessun errore e se eseguo il mioPrograma.jar dalla cartella "dist" dove viene pubblicato automaticamente da Netbeans funziona tutto correttamente.
    Se sposto il mioProgramma.jar in un'altra cartella però, una volta avviato, quando chiedo (premendo un tasto , si tratta di una swing) di esaminare un file ricevo l'eccezione java.lang.NoClassDefFoundError (Per CsvReader).

    Qualcuna sa dirmi come includere la libreria in maniera tale che eseguendo mioProgramma.jar da una qualsiasi altra postazione non abbia problemi?

    Grazie
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,327
    Il tuo programma non è composto SOLO dal .JAR, ma anche da tutto il contenuto della cartella "lib" che deve, appunto, seguire il tuo programma.

    Inglobare il contenuto della "lib" all'interno del JAR, oltre a non essere un'operazione "semplice", è addirittura sconsigliato, per una serie di ragioni che non sto qui ad elencare.

    Quindi, quando devi installare il tuo programma, devi portarti dietro sia il .JAR, sia tutta la directory "lib".


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    613
    Perfetto, ho seguito i tuoi consigli, grazie mille dell'aiuto.
    Per quanto riguarda la "serie di motivi che non stai ad elencare", c'è per caso un articolo che posso leggere? Me lo potresti indicare?

    Grazie ancora
    Conosci te stesso(?)
    (..e allora perchè scassi a me? )

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Leandro
    Per quanto riguarda la "serie di motivi che non stai ad elencare", c'è per caso un articolo che posso leggere? Me lo potresti indicare?
    Guarda, ci sono almeno 2 motivi che in questo momento mi vengono in mente:

    - Questioni di "licenza": il fornitore di una libreria Java che consiste in uno o più .jar potrebbe dire: "i jar puoi usarli ma così come sono, non puoi mettere il loro contenuto dentro altri jar esterni".

    - Questioni di "aggiornamento": se hai i singoli jar in una directory e vuoi aggiornarne qualcuno, basta droppare il nuovo jar nella cartella ed è fatta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.