为什么 sbt 给 "object swing is not a member of package scala" for import scala.swing?
Why does sbt give "object swing is not a member of package scala" for import scala.swing?
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 库:scala-swing_2.11-1.0.1.jar ,这也是 scalac 简单编译的原因。
有些人可能会说我应该在 build.sbt 中将 swing 添加到我的 libraryDependencies 中,但它不应该,因为它是核心库的一部分并且配置了 scalaHome。
如何让 sbt 以自然的方式注意到 swing 核心库?
奖金问题:
如何在 build.sbt 之外配置 scalaHome( 而无需 破解 sbt jar 本身)或更好,它是否注意到 SCALA_HOME 环境变量?
从 2.11 开始,scala swing 包不再列在 scala's standard library api and in fact is described in its own README 作为 "mostly unsupported"。
我认为您应该期望将其作为依赖项包含在内。
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 库:scala-swing_2.11-1.0.1.jar ,这也是 scalac 简单编译的原因。
有些人可能会说我应该在 build.sbt 中将 swing 添加到我的 libraryDependencies 中,但它不应该,因为它是核心库的一部分并且配置了 scalaHome。
如何让 sbt 以自然的方式注意到 swing 核心库?
奖金问题: 如何在 build.sbt 之外配置 scalaHome( 而无需 破解 sbt jar 本身)或更好,它是否注意到 SCALA_HOME 环境变量?
从 2.11 开始,scala swing 包不再列在 scala's standard library api and in fact is described in its own README 作为 "mostly unsupported"。
我认为您应该期望将其作为依赖项包含在内。