我读了一本名为" 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
答案 0 :(得分:2)
这更像是一个操作系统问题。在Linux / Unix上,您通常将$USER
定义为当前用户(运行shell或您的应用程序)。
要检查bash
中的值,请执行:
# echo $USER
yourname
在Windows中,您可以使用以下代码从cmd
进行检查:
C:\> echo %USER%
%USER%
正如您所看到的,我的机器上没有定义它。也许您正在使用Windows并获得相同的错误。您可以在操作系统中设置USER
环境变量,以便能够在您的配置中找到值或提供后备值。