Ich versuche, meine DataSource mit Hilfe von Gradle zu initialisieren, aber Gradle nicht die Werte in meine yml
, die gespeichert ist in einer .properties auf meinem Rechner dh ~/.gradle
und ich habe eine .properties-Datei an diesem Ort.Hinzufügen von Werten in WAR-Datei zu YML-Datei von Werten in einer .properties-Datei, die lokal in Gradle gespeichert werden
In Gradle habe ich eine Methode die Werte aus den .properties wie so Datei zu erhalten:
task copyDBConfig(type: Copy) {
from 'src/main/resources'
include 'app.yml'
into 'build/resources/main'
expand([
DB_URI: project.findProperty("dbURI") ?: "",
DB_USERNAME: project.findProperty("dbUsername") ?: "",
DB_PASSWORD: project.findProperty("dbPassword") ?: "",
])
}
war.finalizedBy(copyDBConfig)
Dann in meiner yml
Datei ich habe:
spring:
datasource:
url: ${DB_URI}
username: ${DB_USERNAME}
password: ${DB_PASSWORD}
driverClassName: oracle.jdbc.OracleDriver
Allerdings, wenn ich den Krieg bauen Datei und schauen Sie in der Datei app.yml
die richtigen Werte sind nicht da, nur ${DB_URI}
etc und nicht die Zeichenfolgen, die es von meiner Datei .properties erhalten sollte und Eingabe von in meine app.yml
Datei.
Wenn ich die app laufen bekomme ich die folgenden Fehler:
java.sql.SQLException: Driver:[email protected] returned null for URL:${DB_URI}
Hinweis: Unter build/resources/main/app.yml
die Werten aus meiner app.properties
Datei gibt es, nur nicht in der WAR-Datei.