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

时间:2015-06-28 14:15:00

标签: swing scala configuration sbt

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._

我将scala版本添加到了build.sbt中。我甚至配置了scalaHome(我相信它永远不会出现在build.sbt中)。

build.sbt中的行:

scalaVersion := "2.11.2"
scalaHome := Some(file("/my/scala/location/opt/scala-2.11.2/"))

/my/scala/location/opt/scala-2.11.2/lib

目录包含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环境变量?

1 个答案:

答案 0 :(得分:5)

从2.11开始,scala swing包不再列在scala's standard library api中,实际上在自己的README中描述为"大部分都不受支持"。

我认为您应该将其作为依赖项包含在内。

另见What's wrong with my scala.swing?