2016-03-19 13 views
1

Ist es möglich, dies in einer application.conf Datei zu erreichen?enthalten umgebungsspezifische Datei in playframework

env = ${?ENV}".auth.conf" 
include env 

Die Anweisung 'include' akzeptiert nicht env. Soweit ich weiß, ich kann nur einen String in include passieren, wie:

include "dev.auth.conf" 

Gibt es eine Möglichkeit, ein variable zur 'include' Anweisung angeben?

Antwort

1

Nein, das ist nicht möglich.

Vom HOCON spec

Wert Verkettung ist nicht auf dem „Argument“ ausgeführt sind oder url() usw. Das Argument muss eine einzelne Zeichenfolge in Anführungszeichen sein. Es sind keine Ersetzungen zulässig und das Argument darf keine Zeichenfolge ohne Anführungszeichen oder eine andere Art von Wert sein.

Das hypothetische Merkmal ist kompliziert.

a = ${b} 
b = 1 

wird in a = 1 aufgelöst. In diesem Muster sollte

include ${b}.conf 
b = 1 

1.conf umfassen.

Aber was, wenn b = 1 in einem anderen Include definiert ist? Ist

include filehavingb.conf 
include ${b}.conf 

anders als

include ${b}.conf 
include filehavingb.conf 

und andere Komplikationen.

Wie auch immer, ist dies diskutiert bei https://github.com/typesafehub/config/issues/122

Der einfachste Weg, um ein ähnliches Ergebnis zu erzielen derzeit -Dconfig.file

+0

Dank Paul verwendet. Hab deine Antwort gesehen. –

Verwandte Themen