[JAVA] So löschen Sie eine Ressourcendatei mit Spring-Boot

Was ich lösen möchte, ist wie der Titel sagt. Beim Spring-Boot werden DB-Verbindungsinformationen usw. häufig in application.properties unter src / main / resources geschrieben. Ich werde jedoch erläutern, wie diese Datei extern abgelegt und mit einer anderen Definition als der zur Kompilierungszeit betrieben wird. Ich werde. Zuvor habe ich "Verwendung von Maven zum Platzieren von Ressourcendateien außerhalb von JAR" veröffentlicht, aber es ist die Spring-Boot-Version davon. ..

Lösungen

Mit Spring-Boot ist das ganz einfach. Platzieren Sie einfach die Ressourcendatei (application.properties usw.), die Sie extern ablegen möchten, in einem separaten Ordner und geben Sie sie zur Laufzeit als Klassenpfad an.

Wenn Sie also my-java-app.jar ausführen und application.properties in den Ordner external_resource laden möchten, fügen Sie den Ordner external_resource in Ihren Laufzeitklassenpfad ein.

Ordnerstruktur


my-java-app.jar
external_resource
  └ application.properties

Befehl


java -classpath ./external_resource -jar my-java-app.jar

Kommentar

Der Grund für dieses Verhalten ist, dass Spring-Boot die folgenden Leseprioritäten für Ressourcendateien hat.

  1. Laufzeitklassenpfad
  2. Kompilierungszeit src / main / resources

Tatsächlich gibt es eine detailliertere Definition der Leseprioritäten, wie andere unten erläutert haben.

Schließlich

Ich bin dankbar, dass Spring-Boot den juckenden Ort gut erreichen kann. Und danke an @niwasawa für die Übersetzung der offiziellen Dokumentation.

Recommended Posts

So löschen Sie eine Ressourcendatei mit Spring-Boot
Wie fange ich mit schlank an?
So teilen Sie Dateien mit Docker Toolbox
[Hinweis] Erste Schritte mit Rspec
Erste Schritte mit Eclipse Micro Profile
So testen Sie eine Klasse, die application.properties mit SpringBoot verarbeitet (Anfrage: darauf hingewiesen)
Wie man mit cli jdk etc. von oracle bekommt
[Ruby] Wie man auskommentiert
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
Zurücksetzen der Migrationsdatei
Lassen Sie uns schreiben, wie API mit SpringBoot + Docker von 0 erstellt wird
Verwendung von Maven zum Platzieren von Ressourcendateien außerhalb von JAR
So führen Sie mit dem Rake-Test von gem nur bestimmte Dateien aus
So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)
Erste Schritte mit JDBC mit PostgresSQL unter MacOS
Verwendung von HttpClient (Get) von Java
So erhalten Sie Parameter in Spark
Wie man mssql-tools mit alpine benutzt
So dekompilieren Sie eine Java-Klassendatei
Memo mit Struts2 + Ajax zu bekommen
So starten Sie Camunda mit Docker
So erhalten Sie den Wert von Boolean mit jQuery in einfacher Rails-Form
So installieren Sie Adopt OpenJDK unter Debian, Ubuntu mit apt (-get)
So beschneiden Sie ein Bild in libGDX
So passen Sie TextPosition mit der iOS-Tastaturerweiterung an
Verwendung von binding.pry für die Ansichtsdatei
So kompilieren Sie Java mit VsCode & Ant
[Java] Fassen Sie zusammen, wie Sie mit der Methode equals vergleichen können
[Android] Wie man mit dunklen Themen umgeht
So löschen Sie die Fehlerbündelung
Ich habe versucht, mit Web Assembly zu beginnen
So wechseln Sie Miniaturbilder mit JavaScript
[Java] Wie man Dateien ausgibt und schreibt!
API-basierte Steuerung mit cancancan
Versuchen Sie, eine Anmeldefunktion mit Spring-Boot zu implementieren
[Java] So erhalten Sie das aktuelle Verzeichnis
Verwendung der Dateien args :, environment :, env_file: und .env mit dem Befehl docker-compose
So aktualisieren Sie verwandte Modelle mit accept_nested_attributes_for
[Java] [ibatis] So erhalten Sie 1-zu-N-Beziehungsdatensätze mit List <Map <>>
[Rails] So erhalten Sie die aktuell mit devise angemeldeten Benutzerinformationen
So setzen Sie JAVA_HOME mit dem Appassembler-Maven-Plugin von Maven
So implementieren Sie TextInputLayout mit Validierungsfunktion
So erhalten Sie das Datum mit Java
So behandeln Sie Anmeldefehler mit devise
So löschen Sie Daten mit einem externen Schlüssel
So testen Sie den privaten Bereich mit JUnit
So überwachen Sie Nginx mit Docker-Compose mit Datadog
Der Umgang mit dem Vorkompilieren von Assets ist fehlgeschlagen.
[SpringBoot] So schreiben Sie einen Controller-Test
So erreichen Sie das Hochladen von Dateien mit Feign
So führen Sie Blazor (C #) mit Docker aus
So erstellen Sie eine Rails 6-Umgebung mit Docker
So wird die Abfragezeichenfolge bei Verwendung von PreparedStatement in JDBC tatsächlich ausgegeben
So erhalten Sie die ID eines Benutzers, der sich in Swift bei Firebase authentifiziert hat