播放2.3.x - 应用程序名称来自" application.conf" in" build.sbt"

时间:2015-04-07 10:46:06

标签: scala playframework sbt playframework-2.3

使用Play 2.1.x我能够从“project / build.scala”中的“conf / application.conf”获取应用程序名称和版本,如下所示:

import sbt._
import Keys._
import play.Project._
import com.typesafe.config._

object ApplicationBuild extends Build {
  val conf = ConfigFactory.parseFile(new File("conf/application.conf")).resolve()
  val appName = conf.getString("application.name")
  val appVersion = conf.getString("application.version")
 ....

我正在迁移到Play 2.3.8,我正在尝试找到一个类似的解决方案来获取“built.sbt”中的名称和版本。 我检查了迁移指南和类似的问题,但似乎都没有。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

我在Play 2.3.8中的项目效果如下。

import PlayKeys._
import com.typesafe.config._

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

name := conf.getString("application.name")

version := conf.getString("application.version")

答案 1 :(得分:0)

我已经在我的Play项目(版本2.3.8)上创建了几个测试,看起来您在查找此文件时遇到问题。

当我尝试读取文件 application.conf (仅用于测试目的)时 - 它给了我FileNotFoundException,但突然Config默默地忽略了这个问题。无论如何,在我的情况下一切正常( conf / application.conf ) - 我能够检索我想要的任何键。

因此,我建议您检查一下是否可以正确找到文件 - 例如,首先尝试用绝对路径替换路径,检查解析是否正常,然后尝试修复位置问题。