Sto cercando di fare qualcosa che pensavo non sarebbe stato difficile.Java -jar: accesso al file di configurazione esterno
Ho un'applicazione che mi piacerebbe impacchettare come jar perché ho ~ 30 dipendenze e vorrei poter distribuire un singolo file.
Ho alcuni file di configurazione - un file di proprietà e un file di configurazione di primavera, e il mio file di log4 puntelli - che mi piacerebbe avere esterno al barattolo. Immagino che mi sarei aspettato che se li avessi messi nella stessa directory del barattolo li troverebbe quando è in esecuzione, ma non è così.
Durante lo sviluppo, ho questi file nella radice del classpath per il mio progetto eclipse e l'app li trova bene. Mi sento come se mi mancasse qualche aspetto chiave della teoria jar/classpath ...
quindi quello che voglio è essere in grado di mettere i file di configurazione e il jar nella stessa directory e fare in modo che l'app trovi i file di configurazione quando lo eseguo con la cosa java -jar standard.
Non c'è un modo semplice per raggiungere questo obiettivo?
Grazie per la risposta Jay R . mio manifesto ha questo in esso, che credo sia quello che stai suggerendo: Manifest-Version: 1.0 main-Class: Class-Path:. –
Joel
Ho aggiunto altro alla mia risposta che spero aiuti. –
Grazie ancora per la tua risposta Jay R. Il tuo aiuto è molto apprezzato. Tuttavia non ho molta fortuna. Sto usando il file log4j.properties piuttosto che la configurazione xml, ma penso che finché il file si trova sul classpath log4j dovrebbe trovarlo bene. Lo stesso accordo con il file di configurazione di primavera - sto chiamando il mio spring.xml ma finché non si trova sul classpath non ci dovrebbero essere problemi. My MANIFEST.MF viene generato dall'esportatore "Runnable Jar ..." di Eclipse, ma sembra esattamente come quello del campione. Non sono sicuro di cosa sta succedendo qui. Grazie ancora per la tua opinione. – Joel