2017-02-17 24 views
1

獲得配置值當我打印使用println(system.settings.config.root().values()) 我值的一長串當前配置值,板缺:無法從阿卡ActorSystem

[SimpleConfigObject({ 「分隔符」: 「:」}) SimpleConfigObject({「home」:「/ usr/local/Cellar/typesafe-activator/1.3.10」)), , SimpleConfigObject({「country」:{「format」:「UA」},「dir」 :「/ Users/sr/ScalaProjects/akka-http-test」,「home」:「/ Users/sr」,「language」:「en」,「name」:「sr」})]

我想要v 「dir」鍵的提示。 我嘗試做這樣的:

system.settings.config.getValue("dir") 

但有例外:

com.typesafe.config.ConfigException $缺失:沒有配置設置 發現鑰匙 '目錄'

如何獲取此密鑰?

回答

0

在訪問dir之前,您可能會錯過訪問user

system.settings.config.getConfig("user").getValue("dir") 

注意打印root().values()當您不打印配置鍵,因此您無法看到「用戶」鍵。你應該能夠通過打印(例如)看到完整的配置塊(例如)

println(system.settings.config.root().entrySet()) 
+0

你說得對,但你能告訴我爲什麼這樣嗎?你在哪裏找到這個「用戶」密鑰? – user2975535

+0

你可以通過檢查system.settings.config.root()。values()' - 'dir'塊的整個打印結果來驗證是否嵌套在一個「用戶」塊中 –

+0

實際上,當我將所有結果打印system.settings.config.root()。values()並在其中搜索單詞「user」我根本找不到它。但是你的解決方案正在工作,所以我會標記你的答案是正確的。謝謝 – user2975535