为什么sbt为import scala.swing提供"对象swing不是包scala的成员"?

dst*_*bbe 1 configuration swing scala sbt

版本:0.13.8

Scala版本:2.11.2

使用scalac编译我的scala swing应用程序时,它只是编译.但是,使用SBT编译相同的文件时,它会提供以下错误:

[error] my/file/path.scala:1: object swing is not a member of package scala
[error] import scala.swing._
Run Code Online (Sandbox Code Playgroud)

我将scala版本添加到了我的build.sbt中.我甚至配置了scalaHome(我相信它永远不应该在build.sbt中).

build.sbt中的行:

scalaVersion := "2.11.2"
scalaHome := Some(file("/my/scala/location/opt/scala-2.11.2/"))
Run Code Online (Sandbox Code Playgroud)

/my/scala/location/opt/scala-2.11.2/lib
Run Code Online (Sandbox Code Playgroud)

目录包含sacla swing lib:scala-swing_2.11-1.0.1.jar,这也是scalac简单编译的原因.

有些人可能会说我应该在build.sbt中为我的libraryDependencies添加swing,但它不应该,因为它是核心库的一部分并且scalaHome已配置.

如何让sbt以自然的方式注意swing核心库?

额外的问题:如何在build.sbt之外配置scalaHome(破坏sbt jar本身)或更好,让它注意到SCALA_HOME环境变量?

Ste*_*man 5

从2.11开始,scala swing包不再列在scala的标准库api中,事实上它在自己的README中被描述为"大部分不受支持".

我认为你应该期望将它作为依赖项包含在内.

另请参阅我的scala.swing有什么问题?