Sto costruendo un file jar eseguibile con maven, il che significa che lo esegui con "java -jar file.jar".Maven: aggiungi risorse esterne
Voglio fare affidamento su proprietà definite dall'utente (solo un file contenente chiavi/valori), durante la fase di sviluppo stavo inserendo il mio file "user.properties" nella cartella maven/src/main/resources /.
Il mio file di proprietà viene caricato con:
final Properties p = new Properties();
final InputStream resource = IOParametres.class.getResourceAsStream("/user.properties");
p.load(resource);
Ora, voglio mantenere quel file al di fuori del vaso e avere qualcosa di simile:
- execution_folder
|_ file.jar
|_ config
|_ user.properties
Ho provato molte cose con Maven plugin come maven-jar-plugin, maven-surefire-plugin e maven-resources-plugin ma non riesco a farlo funzionare ...
Grazie in anticipo per il vostro aiuto!
È user.properties solo un file di testo separato che si tiene accanto al jar e che si desidera leggere in fase di runtime? Perché se così fosse ...probabilmente dovresti trattare come qualsiasi altro file esterno. – Deltharis
Sì, è solo un file separato, ma il fatto è 1- Non so dove verranno messi il jar ei file di configurazione dall'utente 2 - I avere altri file di risorse usati dalle dipendenze (connessione DB e altri) – GournaySylvain
Se ti piace il file delle proprietà all'esterno devi impostare classpath in modo che punti alla cartella 'executon_folder/config /' altrimenti non sarai in grado di accedere all'utente '. properties'. Quindi un semplice 'java -jar file.jar' non funzionerà. – khmarbaise