Play Framework 2.1:在Build.scala中使用play.api.Configuration

use*_*521 12 java version playframework-2.1

在顶部的回答播放框架2:阅读Build.scala定义的应用程序版本,它的建议,应用程序版本号中规定conf/application.conf,并在加载Build.scala通过play.api.Configuration.我正在使用Play 2.1-RC2并在构建时收到以下错误消息:

[error] [...]/project/Build.scala:7: object Configuration is not a member of package play.api 
[error] val conf = play.api.Configuration.load(new File("."))
Run Code Online (Sandbox Code Playgroud)

我认为这可能是因为Play 2.1构建依赖项必须被指定为SBT的插件,而play.api.Configuration不是Play的SBT插件的一部分.我猜我必须包含Play的核心库project/plugins.sbt,但我还没弄清楚如何.有任何想法吗?

(注意:如果我有足够的重复点,本来可以在原始问题中做出评论)

kap*_*pex 24

我在工作2.1-RC2,如果你直接使用类型安全的配置库,而播放的Configuration包装.它是一个Java API,因此使用的方式与本答案中描述的略有不同.

project/Build.scala导入库时:

import com.typesafe.config._
Run Code Online (Sandbox Code Playgroud)

并手动加载文件中的配置.resolve()需要调用才能解决替换问题.

val conf = ConfigFactory.parseFile(new File("conf/application.conf")).resolve()

val appName    = conf.getString("app.name")
val appVersion = conf.getString("app.version")
Run Code Online (Sandbox Code Playgroud)

  • 小心!不要在play-2.1.x的`appName`中使用点和空格.或者对`java.lang.ExceptionInInitializerError`问好. (2认同)