Ich möchte bestimmte sicherheitsrelevante Eigenschaften in meine Spring Boot-Anwendung übergeben, die ich über Gradle während der Entwicklung über Kommandozeilen- und/oder extern gesetzte Systemeigenschaften starte. Ich kann diese Dinge nicht in Dinge wie das Script build.gradle schreiben, da sie in die Quellcodeverwaltung übernommen werden und dann öffentlich verfügbar sind.Systemeigenschaften in Spring Boot von Gradle übergeben
Ich kann keine der Lösungen finden, die ich gefunden habe, um diese Werte einer Anwendung verfügbar zu machen, die Gradle mit Gradle 2.4.4 ausführt.
mehr Lösungen wie folgt aussehen, wobei die Systemeigenschaften in der bootRun Aufgabe festgelegt sind:
bootRun {
systemProperties System.properties
}
Dies scheint vollständig den Standard bootRun Aufgabe überschreibt und bricht Frühling Stiefel automatische Hauptklasse Erkennung.
Irgendwo anders wurde dies vorgeschlagen:
bootRun {
run {systemProperties System.properties}
}
Dies ist nicht die normale Konfiguration enthebt, aber die Eigenschaften innerhalb des Laufes Verschlusses sind in der bootRun Aufgabe nicht zur Verfügung.
Dies alles geschieht, wenn ich Gradle mit Intellij starte.
Wenn ich Gradle von der Kommandozeile zu starten und in einer Eigenschaft Weise zu passieren versuchen, zum Beispiel:
gradle -Dspring.email.password=123 bootRun
Das Anwesen ist nirgendwo festgelegt, unabhängig von der Konfiguration. Das Ändern der Reihenfolge der Argumente hat keine Auswirkungen.