【问题标题】:Play Framework 2.1: Use play.api.Configuration in Build.scalaPlay Framework 2.1:在 Build.scala 中使用 play.api.Configuration
【发布时间】:2013-01-04 00:04:17
【问题描述】:

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 的核心库,但我无法弄清楚如何。有什么想法吗?

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

【问题讨论】:

    标签: java playframework version playframework-2.1


    【解决方案1】:

    如果你直接使用 typesafe 的配置库,我在 2.1-RC2 工作,没有 Play 的 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")
    

    【讨论】:

    • 这行得通,谢谢。对迟到的回复表示歉意。
    • 小心!不要在 play-2.1.x 的appName 中使用点和空格。或向java.lang.ExceptionInInitializerError打个招呼。
    • @kapep :您想看到这个问题并最终提出建议吗? stackoverflow.com/q/21133830/1066240
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多