2012-04-20 147 views
4

我的問題:斯卡拉Swing包沒有找到

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

當我嘗試啓動任何GUI應用程序使用Scala。我到現在爲止嘗試:直接由scala命令調用,並通過scalac和fsc首先進行預編譯,沒有任何工作。

我的系統:Ubuntu 11.10機器,安裝了OpenJDK 6,OpenJDK 7,Oracle JDK 6和Ubuntu Repositories的Scala-Packe,另外我嘗試了從官方Scala主頁(scala-lang )。 .deb包無法安裝,但* .tgz文件中的純文件起作用。

我想我已經安裝了這些軟件的各種可能的組合,沒有一個人的作品。

笑話:在我的Windows 7機器上,相同的代碼(dropbox-sync)沒有任何問題。

任何想法?我忘了什麼嗎?

回答

4

顯然,在類路徑上找不到scala-swing.jar。我不確定爲什麼會這樣;它適用於我的系統(仍然是11.04;不喜歡Unity)。嘗試明確添加它:-cp /wherever/oneiric-ocelot/puts/scala/lib/scala-swing.jar

如果該文件不在您的系統中,您可以從project webpage下載該文件。 (點擊README中相應的「最新版本」按鈕,然後下載jar)

+0

不起作用編輯build.sbt文件。 :( – Hisako 2012-04-20 15:50:10

+0

@Hisako - 這很奇怪,試試'_root_.scala.swing._'?你沒有其他的東西來映射'scala'的名字嗎? – 2012-04-20 15:55:06

+0

nope,shadowing不應該是問題,scala本身工作正常。_root_身份不工作,通過。 – Hisako 2012-04-20 15:58:05

17

已經有很多個月了,因爲原來的問題已經很多個月了,但是由於我剛剛遇到了同樣的問題,並且使用谷歌搜索顯示了這一點螺紋:

看起來他們從核心Swing庫分離斯卡拉擺動。所以如果你正在使用sbt: libraryDependencies + =「org.scala-lang」%「scala-swing」%「2.10.2」

(我想以前的答案暗示,以及,真的,但自我得到了這個錯誤,這是修復,我只是將它添加到其他人的參考)。

1

解決此錯誤的最簡單方法是下載scala.swing包並將其保存在主項目文件夾中名爲lib的文件夾中。這種方式當你編譯程序或其他任何工具時,編譯器會掃描lib文件夾並用新的軟件包進行更新。另一種方式是通過添加以下行它

「org.scala琅」%「斯卡拉搖擺」%「2.10.2」