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

时间:2015-09-05 12:16:27

标签: scala playframework

我读了一本名为" Play for Scala"写于2013年,看到像这样的代码示例:

在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

1 个答案:

答案 0 :(得分:2)

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

# echo $USER
yourname

在Windows中,您可以使用以下代码从cmd进行检查:

C:\> echo %USER%
%USER%

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