`enablePlugins` 方法使用的未定义变量?
Posted
技术标签:
【中文标题】`enablePlugins` 方法使用的未定义变量?【英文标题】:An undefined variable used by `enablePlugins` method? 【发布时间】:2015-02-13 07:11:25 【问题描述】:我的build.sbt
看起来像这样:
lazy val root = (project in file(".")).enablePlugins(PlayScala)
name := "slick"
version := "1.0"
scalaVersion := "2.11.4"
libraryDependencies ++= Seq(
"com.typesafe.slick" %% "slick" % "2.1.0",
"org.postgresql" % "postgresql" % "9.3-1102-jdbc4",
"org.slf4j" % "slf4j-simple" % "1.6.4"
)
project/plugins.sbt
看起来像这样:
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.6")
// web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.0.0")
在我的build.sbt
的第一行,我看到了这样的代码:
lazy val root = (project in file(".")).enablePlugins(PlayScala)
我无法理解的是PlayScala
,它应该是一个未定义的变量。但是当我使用 sbt 构建项目时,sbt 并没有抱怨这一点。有人对此有想法吗?
【问题讨论】:
Why does sbt report "not found: value PlayScala" with Build.scala while build.sbt works? 的可能重复项 @DanielOlszewski 我不认为这是一个重复的问题。如果我理解正确,OP 是在询问PlayScala
首先是如何在 build.sbt 中导入的。
【参考方案1】:
我看不懂的是
PlayScala
,它应该是一个未定义的变量。
见Controlling the import with autoImport。
当自动插件提供了一个稳定的字段,例如 val 或名为 autoImport 的对象时,该字段的内容是在 set、eval 和 .sbt 文件中导入的通配符。
【讨论】:
以上是关于`enablePlugins` 方法使用的未定义变量?的主要内容,如果未能解决你的问题,请参考以下文章
为啥在使用静态方法时取消引用 nullptr 而不是 C++ 中的未定义行为?