【发布时间】:2013-09-17 05:15:22
【问题描述】:
尝试在配置文件中使用${HOSTNAME} 不起作用!根据文档,配置文件应该解析文档中提到的环境变量:
如果替换不能在配置本身中解析,则它们会退回到环境变量,因此 ${HOME} 将按您的预期工作。此外,大多数配置都合并了系统属性,因此您可以使用 ${user.home}。
有没有办法将主机名添加到配置文件中?
复制
将host.name=${HOSTNAME} 添加到application.conf 文件中,然后尝试从任何地方访问它。例如尝试添加
Logger.info(s"Hostname is ${current.configuration.getString("host.name").getOrElse("NOT-FOUND")}")
到Global.scala。
环境
这是在echo $HOSTNAME 生成precise32 的RHEL6 环境中运行的,因此环境变量存在,这不是程序hostname。
【问题讨论】:
-
您是否将 HOSTNAME 明确设置为环境变量? “主机名”本身就是一个程序。您在哪个平台上运营?您的 application.conf 看起来如何?如何检索配置设置?
-
是的,请告诉我们您的
application.conf以及您在应用程序中的使用位置。 -
更新问题。 HOSTNAME 在服务器上设置,在 application.conf 中没有什么特别的,除了尝试设置
host.name配置变量。 -
FWIW 我刚刚遇到了文档和实际实现之间同样令人讨厌的差异。如果我没记错的话,几年前也有同样的错误。也许 Typesafe 人已经放弃了 Typesafe Config 项目?
标签: configuration playframework akka typesafe