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环境变量?
答案 0 :(得分:5)
从2.11开始,scala swing包不再列在scala's standard library api中,实际上在自己的README中描述为"大部分都不受支持"。
我认为您应该将其作为依赖项包含在内。