Scala 为什么在使用xsbt web插件时,inspect compile:packageWar::packagedArtifact在Sbt控制台中失败?

Scala 为什么在使用xsbt web插件时,inspect compile:packageWar::packagedArtifact在Sbt控制台中失败?,scala,sbt,xsbt-web-plugin,Scala,Sbt,Xsbt Web Plugin,我正在使用带有Sbt 0.13.2的xsbt web插件。如果我将以下内容添加到build.sbt,我可以在控制台中键入“myTask”,它就会工作: val myTask = taskKey[Unit]("My task.") myTask := { val (art, file) = packagedArtifact.in(Compile, packageWar).value println("Artifact definition: " + art) println("Pa

我正在使用带有Sbt 0.13.2的xsbt web插件。如果我将以下内容添加到build.sbt,我可以在控制台中键入“myTask”,它就会工作:

val myTask = taskKey[Unit]("My task.")

myTask :=  {
  val (art, file) = packagedArtifact.in(Compile, packageWar).value
  println("Artifact definition: " + art)
  println("Packaged file: " + file.getAbsolutePath)
}
但是,如果我在Sbt控制台中键入它,为什么会返回错误

inspect compile:packageWar::packagedArtifact
错误消息:

[error] Expected key
[error] Not a valid key: packageWar (similar: package, packageSrc, package-src)
[error] inspect compile:packageWar::packagedArtifact
[error]                           ^
作为比较,这一个确实有效:

inspect compile:packageBin::packagedArtifact
build.sbt的关键部分:

tomcat()

name := "my-war"

scalaVersion := "2.10.4"

webappSrc in webapp := baseDirectory.value / "web"

webInfClasses in webapp := true

val myTask = taskKey[Unit]("My task.")

myTask :=  {
  val (art, file) = packagedArtifact.in(Compile, packageWar).value
  println("Artifact definition: " + art)
  println("Packaged file: " + file.getAbsolutePath)
}
project/plugins.sbt:

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "1.0.0-M4")

(我这样问只是为了更好地理解Sbt,它实际上并没有引起问题。)

您可以从
软件包
而不是
软件包获得此信息:

> inspect compile:package::packagedArtifact
[info] Task: scala.Tuple2[sbt.Artifact, java.io.File]
[info] Description:
[info]  Generates a packaged artifact, returning the Artifact and the produced File.

packageWar
任务正在使用。

您能打印错误消息吗?
build.sbt
中的内容适用于构建文件所在的项目,因此它可能会对您的体验有所贡献……不知何故。您的构建文件中是否有
warSettings
?我已添加了所需的信息。我还尝试将warSettings添加到build.sbt中,结果没有看到任何更改。谢谢,我现在看到scala变量名为packagevar,但给出的名称是“package”。war的内容似乎在global scope*:package中,而原来的jar内容则在compile:packageBin中。