4
我有一個名爲Gui.scala的GUI類,Eclipse不直接在scala文件中顯示任何錯誤。我的Scala版本是2.11,我已經手動將scala-swing-2.10.4.jar添加到Eclipse中的構建路徑中。如果我不這樣做,Eclipse會抱怨它找不到Swing庫。我的源代碼與Swing相關的Scala NoClassDefFoundError
第一行是這樣的:
package filmreviews
import scala.swing._
import event._
import javax.imageio.ImageIO
import javax.swing.ImageIcon
import java.io.File
import java.awt.image.BufferedImage
import java.net.URI
import java.net.URL
import java.awt.Desktop
import java.awt.Cursor
import java.awt.Color
import javax.swing.border
import javax.swing.BorderFactory
import javax.swing.UIManager
object Gui extends SimpleSwingApplication {
def top = new MainFrame {
...more code here...
我得到以下錯誤:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
此外,還有一個長長的清單,告訴其中代碼中的錯誤發生。只提到我自己的代碼的行是:
at filmreviews.Gui$$anon$3.<init>(Gui.scala:17)
at filmreviews.Gui$.top(Gui.scala:17)
at filmreviews.Gui$.top(Gui.scala:16)
這就是爲什麼我認爲它與創建MainFrame對象有關。它也可能與我如何手動將Swing庫添加到構建路徑有關。但是,我不知道是什麼原因導致錯誤或如何修復它。
我看來像斯卡拉集合庫是不是在你的類路徑中。你確定scala-runtime jar文件是你類路徑的一部分嗎? – 2014-11-02 15:26:39
感謝您的建議!不過,另一個答案解決了這個問題。在我的類路徑中,它讀取「Scala庫容器[2.11.4]」和「JRE系統庫[JavaSE-1.7]」在Bootstrap Entries下。據我的理解,這意味着scala-runtime是我的類路徑的一部分。 – 2014-11-02 15:37:08