Nein, das ist nicht möglich.
Eigentlich hybris verwenden org.apache.commons.configuration
Paket. In der documentation finden Sie, dass es möglich ist, Umgebungsvariable zu verwenden.
user.file = ${sys:user.home}/settings.xml
action.key = ${const:java.awt.event.KeyEvent.VK_CANCEL}
java.home = ${env:JAVA_HOME}
Leider hat hybris etwas getan, was ich nicht erklären kann, haben sie die Standardimplementierung und entfernt alle Interpolation Funktionen overidded. Wenn das Problem weiter analysiert wird, heißt die verwendete Konfigurationsklasse HybrisConfiguration
. Diese Klasse erweitert AbstractConfiguration
von Apache Commons Configuration. Die Methode getProperty
verwendet eine andere Schnittstelle mit der Bezeichnung ConfigIntf
. Die Implementierung befindet sich in der Klasse AbstractConfig
. Dort sind alle getString
getInteger
, etc ... Methoden übergangen.
Zum Beispiel für String, wird das Verfahren der interpolate Methode nicht nennen, sondern es eine wirklich einfache finden ...
StringUtils.isEmpty(value) ? def : value;
Also, wenn Sie alle Funktionen von Apache API verwenden möchten, dann versuche, die hybris-implementierung zu ersetzen ... Aber ich denke, dass es nicht so einfach sein wird, das zu tun, ohne die Plattform zu ändern, da ich dort keine Bohnen sehe, die injiziert werden könnten.
Dank @ alain.janinm, ich habe tatsächlich festgestellt, dass Sie Umgebungs-ähnliche Variablen in der gleichen Datei wie HYBRIS_DIR definiert werden können ... Aber das hilft nicht, wenn Sie sagen möchten, Datenbankkennwörter aus einer Version verschieben kontrollierte Eigenschaftendatei, da sie erst verfügbar sind, nachdem das System ausgeführt wurde. – rohrlach