Root-Pfad zu meiner Spring Boot Application

Schuriko

Bekanntes Mitglied
Ich muss im Verzeichnis ".info2" des Root-Verzeichnis meiner Spring Boot Application eine Text - Datei ablegen / zugreifen. Angenommen ich installiere meine Anwendung unter einem bestimmte Verzeichnis, wie erfahre ich aus meiner Anwendung heraus, wo meine Anwendung ausgeführt wird, um zugriff auf <root>/.info2/mytext.txt zu erhalten?
 

mrBrown

Super-Moderator
Mitarbeiter
Ist es eine Datei, die du aus der Anwendung heraus schreiben musst? -> nimm das aktuelle Arbeitsverzeichnis.
Ist es eine Datei, die nur gelesen werden muss? -> Ab in die resourcen
 

Schuriko

Bekanntes Mitglied
Das war nicht meine Frage!

Ich möchte aus meiner Spring Boot Anwendung heraus während der Laufzeit erfahren wie das Verzeichnis der Spring Boot Anwendung lautet. 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?
 

mrBrown

Super-Moderator
Mitarbeiter
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.
 

Neue Themen


Oben