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

时间:2013-01-20 22:33:57

标签: java version playframework-2.1

Play Framework 2: Read the application version defined in Build.scala的最佳答案中,建议在conf/application.conf中指定应用程序版本号,并将其加载到Build.scalaplay.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("."))

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

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

1 个答案:

答案 0 :(得分:24)

如果您直接使用typesafe的配置库,而不使用Play的2.1-RC2包装器,我可以在Configuration中工作。它是一个Java API,因此它与this answer中描述的略有不同。

project/Build.scala导入库:

import com.typesafe.config._

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

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

val appName    = conf.getString("app.name")
val appVersion = conf.getString("app.version")