簡體   English   中英

如何重用Typesafe配置文件中的屬性?

[英]How reuse properties in typesafe config files?

考慮以下文件:

application.conf

app {
    port = 5000
}

reference.conf

akka {
    cluster {
        seed-nodes = ["akka.tcp://sysName@localhost:"${app.port}]
    }
}

因此,當我運行ConfigFactory.load()它將失敗,因為${app.port}未出現在reference.conf中。

但是加載算法很明確reference.conf已加載並與application.conf合並。 有沒有一種方法可以將application.conf和“ include” reference.conf加載到其中?

重要

我試過在application.conf的第一行添加include "reference.conf"並沒有幫助。

您可以使用file("")語法包含文件。

include file("reference.conf")

參見https://github.com/typesafehub/config/blob/master/HOCON.md#include-syntax

根據Typesafe Config 文檔

這就意味着reference.conf堆棧必須是獨立的。 您不能保留由application.conf提供的未定義值${foo.bar} ,或者以您希望允許application.conf覆蓋的方式引用${foo.bar} 但是, application.conf可以在reference.confreference.conf ${foo.bar}

該文檔還列出了一些可能的解決方法:

  • application.confreference.conf一起放在庫jar中,其值供以后解決。
  • 在代碼中添加一些邏輯,而不是在配置本身中建立值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM