繁体   English   中英

application.conf 中的 Scala 环境 ${USER}

[英]Scala environment ${USER} in application.conf

我阅读了 2013 年写的名为“Play for Scala”的书,并看到了这样的代码示例:

在 application.conf 文件中:

environment.user = ${USER}

在一些模板文件中:

@()(implicit messages: Messages)
@import java.util.Date
@import play.api.Play.current

<footer>
    lang = @messages.lang.code
    user = @current.configuration.getString("environment.user")    // <<--- this line
    date = @(new Date().format("yyyy-MM-dd HH:mm"))
</footer>

运行示例后,我收到一个错误:

application.conf @ file:/C:/Users/Maciek/IdeaProjects/play-scala/target/scala-2.11/classes/application.conf: 18: 无法解析替换为值: ${USER}

请问什么是${USER}环境变量,它是从哪里来的? 为什么它不起作用?

我知道在书中播放版本是 2.1 而我的是 2.4.2

这更像是一个操作系统问题。 在 Linux/Unix 上,您通常将$USER定义为当前用户(正在运行 shell 或您的应用程序)。 要检查bash的值,请执行以下操作:

# echo $USER
yourname

在 Windows 中,您可以从cmd检查它:

C:\> echo %USER%
%USER%

正如你所看到的,它没有在我的机器上定义。 也许您正在使用 Windows 并遇到相同的错误。 您可以在您的操作系统中设置USER环境变量,以便它能够在您的 conf 中找到该值或提供后备值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM