12

Play Framework 2: Read the application version defined in Build.scala的最佳答案中,建议在 .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 插件的一部分。我猜我必须将 Play 的核心库包含在 中project/plugins.sbt,但我无法弄清楚如何。有任何想法吗?

(注意:如果我有足够的代表点,会在原始问题中发表评论)

4

1 回答 1

24

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

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")
于 2013-01-29T11:37:08.990 回答