在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的核心库,但是我还没办法弄清楚。有什么想法吗?
((注:如果我的代表点足够多的话,会在原始问题中对此发表评论)]
2.1-RC2
包装器直接使用typesafe的配置库,则在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")