Io uso questo codice nel mio programma per caricare un file di proprietà:jar eseguibile non troverà le proprietà dei file
Properties properties = new Properties();
URL url = new App().getClass().getResource(PROPERTIES_FILE);
properties.load(url.openStream());
Il codice viene eseguito bene in Eclipse. Quindi impacchetta il programma in un JAR chiamato MyProgram.jar, e lo eseguo, ho ottenuto un NullPointerException sulla seconda riga. Il JAR non contiene il file delle proprietà, entrambi si trovano nella stessa directory. Sto usando Maven per creare il JAR. Come posso risolvere questo problema?
UPDATE: Non voglio aggiungere il file delle proprietà al JAR, poiché verrà creato al momento della distribuzione.
laterale: C'è qualche motivo per cui stai usando 'getResource()' invece di 'getResourceAsStream()', visto che lo stai usando come stream comunque? – Powerlord
No, non ho alcuna ragione particolare. –
Come gestisci il tuo barattolo? Se tramite java -jar, puoi provare java -cp ./MyProgram.jar e vedere se funziona? –