Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Esportare JAR file con Database

    Salve, ho creato un programma in cui utilizzo un database collegato tramite il driver SQLite. Il programma funziona correttamente in Eclipse ma nell'esportazione non trova il DB.

    Il metodo per connettere il DB è questo:

    codice:
    public boolean connettiDB(){
    	    try {
    	    	Class.forName("org.sqlite.JDBC");
    	    	c = DriverManager.getConnection("jdbc:sqlite:db/database.sqlite");
    	    	stmt = c.createStatement();
    	    }catch(Exception e) {e.printStackTrace(); return false;}
        	return true;
    	}
    /*....*/
    Quando esporto il file jar, esporto anche le risorse, e di conseguenza anche la cartella db in cui c'è il database, ma non quando lo eseguo non me lo trova.

    Avevo pensato di risolvere passando l'URL della risorsa al metodo
    codice:
    c = DriverManager.getConnection("jdbc:sqlite:db/database.sqlite");
    ma il metodo legge solo stringhe e non URL.
    come posso risolvere?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da stefanaimon Visualizza il messaggio
    Quando esporto il file jar, esporto anche le risorse, e di conseguenza anche la cartella db in cui c'è il database, ma non quando lo eseguo non me lo trova.
    Il file del db non può essere messo nel jar per poter essere usato direttamente lì dentro il jar (se è questo che hai fatto ed ho capito bene).
    Spetta a te produrre e fornire un qualche sistema di "installer" oppure eventualmente rendere un po' più smart la tua applicazione in modo che sia in grado di creare/inizializzare il file del db al primo uso.

    Inoltre tieni presente che db/database.sqlite è un path "relativo" alla directory corrente, quindi se il tutto funziona o no dipende da come/da dove avvii la applicazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Il file del db non può essere messo nel jar per poter essere usato direttamente lì dentro il jar (se è questo che hai fatto ed ho capito bene).
    Spetta a te produrre e fornire un qualche sistema di "installer" oppure eventualmente rendere un po' più smart la tua applicazione in modo che sia in grado di creare/inizializzare il file del db al primo uso.

    Inoltre tieni presente che db/database.sqlite è un path "relativo" alla directory corrente, quindi se il tutto funziona o no dipende da come/da dove avvii la applicazione.
    Alla fine ci sono riuscito. Era un problema di configurazione del path: mi cercava il db in un'altra directory. grazie per la risposta

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.