Forum: Mikrocontroller und Digitale Elektronik Java: Pfad zur Resource im fertigen jar-File


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich willl in ein jar-File eine XML-Datei einbetten, die beim Ausführen 
des jar-Files herauskopiert wird. Dazu habe ich in Eclipse dem Projekt 
einen resource-Ordner hinzugefügt und die Datei dort reinkopiert.

Solange der Code noch aus Eclipse gestartet wird funktioniert das hier:
1
 inpath = "resource/xml_src.txt";
2
 buffer = new String(Files.readAllBytes(Paths.get(inpath)), StandardCharsets.UTF_8);  
3
 ...

Sobald das Ganze aber aus Eclipse als "runnable jar file" exportiert und 
gestartet wird, wirft's eine Exception mit 
"java.nio.file.NoSuchFileException", was wohl heisst, dass mein 
xml_src.txt nicht gefunden wird.

a) wie muss ich den Code ändern?

b) wie kann ich fürs Debugging unterscheiden, ob der Code in Eclipse 
läuft oder als eigenständiges Jar?

Danke für Tips.

: Bearbeitet durch User
von Mladen G. (mgira)


Lesenswert?

in einem Jar gibt es keine Files..

https://stackoverflow.com/questions/1464291/how-to-really-read-text-file-from-classpath-in-java

musst beim Debuggen nicht unterscheiden wenn du es richtig machst

: Bearbeitet durch User
Beitrag #6833746 wurde vom Autor gelöscht.
von Daniel A. (daniel-a)


Lesenswert?

Mladen G. schrieb:
> in einem Jar gibt es keine Files..

Benenne mal ein .jar nach .zip um und Staune.

von Mladen G. (mgira)


Lesenswert?

Daniel A. schrieb:
> Benenne mal ein .jar nach .zip um und Staune.

Da gibt es nix zu staunen..

Wie gesagt, eine Jar hat keine Files
Eine Jar hat Entries ;)

Ist aber wurst, man will ja auf Classpath Ressourcen zugreifen, nicht 
auf Files.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.