java -jar test.jar
System.getProperty("user.dir") + "/Beispiel.xml"
Das kommt ganz auf dein working directory an.
wenn du das programm perstartest (du dich also im Verzeichnis folder befindest), dann sollte das pfad einfachCode:java -jar test.jar
sein.Code:System.getProperty("user.dir") + "/Beispiel.xml"
Welchen Grund gibt es, die Datei nicht im JAR zu verpacken und über den Classloader zu laden? Alles andere ist gefrickel...
ein ganz simpler Grund dafür ist, dass man -zumindest bei kleineren Projekten- schnell, einfach und unkompliziert externe Resourcen (Bilder, propertie-Dateien, u.ä) austauschen kann und das Programm dann (ohne neu zu compilieren) testen kann.
Natürlich kann man das auch innerhalb eines JAR-Files machen...ist nur ein wenig aufwendiger.
bei bildern oder so bin ich da schon bei dir aber alle konfigurationsdateien sollten imho nicht direkt in der jar liegen. man kann ja auch einen stream ausserhalb der jar via classloader holen