在Play Framework 2: Read the application version defined in 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("."))
我认为这可能是因为必须将Play 2.1构建依赖项指定为SBT的插件,而play.api.Configuration
不是Play的SBT插件的一部分。我猜我必须在project/plugins.sbt
中包含Play的核心库,但我无法弄清楚如何。有什么想法吗?
(注意:如果我有足够的重复点,本来可以在原始问题中作出评论)
答案 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")