leon77 ha scritto:
Come posso fare a rendere la mia app portable con derby funzionante?
al momento ho usate queste due stringhe url e sulla mia macchina funzionano perfettamente
derbyUrl = "jdbc:derby:../App/MyDb" oppure "jdbc:derby:C:\\Progetti\\JavaFX\\App\\MyDb";
E' la "solita" questione dei path assoluti/relativi (ne ho parlato l'altro giorno qui
Includere db sqlite dentro un JAR, per un motivo diverso ma molto similare).
Quel path che passi nel url può essere o "assoluto" o "relativo". Metterlo assoluto (e oltretutto "cablato" nel codice così) NON va bene. Non tutti hanno (ovviamente) una C:\Progetti\JavaFX\App\MyDb.
Se lo metti relativo ... è relativo alla directory "corrente". E quindi la questione diventa "avere il controllo su come impostare la directory corrente quando avvii la applicazione". Che può essere possibile o no, dipende da cosa dai a qualcun'altro e come lo usa.
L'alternativa (l'ho detto in quella discussione linkata) è usare un percorso facilmente rintracciabile, ad esempio sotto la "home" dell'utente. Ma ci sono anche altre possibilità, ad esempio chiedere all'utente una-tantum dove vuole posizionare il db.