我正在尝试在Play中将各种设置与构建定义分开! 2.1应用。

我在build.sbt中定义了一些设置,如下所示:

name := "My Project"
version := 1.0


如何在Build.scala中重用这些值?

object ApplicationBuild extends Build {

  val main =
    // Doesn't compile since name and version are SettingKeys, not Strings
    play.Project(name, version).settings(
      // ...
    )

}


非常感谢!

最佳答案

如果需要访问密钥,可以使用<<=代替:=(例如,用<+=代替+=)。在这种情况下,我们要从全局范围中提取版本和名称。

val main = play.Project(appName, appVersion, appDependencies).settings(
  version <<= (version in Global)  { v => v} ,
  name <<= (name in Global) { n => n }
)


尽管由于这是默认范围,所以在这种情况下我们可以忽略该范围。

val main = play.Project(appName, appVersion, appDependencies).settings(
  version <<= (version)  { v => v} ,
  name <<= (name) { n => n }
)


甚至更短的版本就是

val main = play.Project(appName, appVersion, appDependencies).settings(
  version <<= version ,
  name <<= name
)


请注意,您的build.sbt文件必须位于根目录而不是project/目录中。

09-27 01:50
查看更多