5

我的问题:

error: object swing is not a member of package scala
import scala.swing._
^

当我尝试使用 Scala 启动任何 GUI 应用程序时。我到现在为止的尝试:直接由 scala 命令调用,并先由 scalac 和 fsc 预编译,没有任何效果。

我的系统:一台 Ubuntu 11.10 机器,安装了 OpenJDK 6、OpenJDK 7、Oracle JDK 6 和 Ubuntu 存储库中的 Scala-Packe,另外我尝试了官方 Scala 主页(scala-lang)中的“新”Scala。.deb-package 无法安装,但 *.tgz 文件中的纯文件到目前为止有效。

我尝试了我已安装的这些软件的所有可能组合,但没有一个可以工作。

笑话:在我的 Windows 7 机器上,相同的代码 (dropbox-sync) 没有任何问题。

有任何想法吗?我是不是忘记了什么?

4

3 回答 3

18

自最初的问题以来已经好几个月了,但是因为我刚刚遇到了同样的问题,并且谷歌搜索显示了这个线程:

看起来他们将 scala swing 与核心 swing 库分开了。因此,如果您使用的是 sbt: libraryDependencies += "org.scala-lang" % "scala-swing" % "2.10.2"

(我想以前的答案也暗示了这一点,真的,但是因为我得到了那个错误并且这是修复,我只是将它添加以供其他人参考)。

于 2013-07-07T18:52:50.483 回答
4

它显然没有scala-swing.jar在类路径中找到。我不确定为什么会这样;它适用于我的系统(仍然是 11.04;不喜欢 Unity)。尝试明确添加它: -cp /wherever/oneiric-ocelot/puts/scala/lib/scala-swing.jar.

如果该文件不在您的系统上,您可以从项目网页下载它。(单击标题下方自述文件中相应的“最新版本”按钮。然后下载 jar。)

于 2012-04-20T15:45:15.717 回答
1

解决此错误的最简单方法是下载 scala.swing 包并将其保存在主项目文件夹中名为 lib 的文件夹中。这样,当您使用 sbt 或任何其他工具编译程序时,编译器将扫描 lib 文件夹并使用新包进行自我更新。另一种方法是通过在其中添加以下行来编辑 build.sbt 文件

“org.scala-lang”%“scala-swing”%“2.10.2”

于 2013-10-26T17:36:44.080 回答