Das war nicht meine Frage!
Deine Frage kann man auf verschiedensten Wege interpretieren...
"Root-Verzeichnis meiner Spring Boot Application":
- zur Entwicklungszeit der Ordner in dem das Projekt liegt
- zur Laufzeit hat jede Klasse ein Root-"Package" (
Class#getResource("/")
)
- jede Class/Jar hat noch mal ein eigenes Verzeichnis (wobei das nicht mal ein Verzeichnis sein muss) in dem sie liegt
- wenn das ganze in einem Servlets-Container läuft, ist das noch mal anders
- und das FS hat noch mal ein root-Verzeichnis...
"wo meine Anwendung ausgeführt wird":
- Arbeitsverzeichnis
Ich möchte aus meiner Spring Boot Anwendung heraus während der Laufzeit erfahren wie das Verzeichnis der Spring Boot Anwendung lautet.
Wenn du den Pfad zur aktuellen jar, meinst, dann gibt es keinen "guten" Weg. Ansonsten:
hier sind X Wege beschrieben, such dir einen aus.
Deshalb nutzt man üblicherweise das Arbeitsverzeichnis, es ist zB auch nicht unüblich, dass das Verzeichnis der jar schreibgeschützt ist.
Aber da DU schon mit dem Verzeichnis ressource angefangen hast, wie erhalte ich, während der Laufzeit, den vollständigen Pfad / Zugriff auf eine Datei im "src/main/ressource" Verzeichnis?
Gar nicht, da das kein zur Laufzeit existierendes Verzeichnis ist. Auf die darin liegenden Dateien mit
Class#getResource
.