Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala NoClassDefFoundError与Swing相关_Swing_Scala_Noclassdeffounderror - Fatal编程技术网

Scala NoClassDefFoundError与Swing相关

Scala NoClassDefFoundError与Swing相关,swing,scala,noclassdeffounderror,Swing,Scala,Noclassdeffounderror,我有一个名为GUI.scala的GUI类,Eclipse不会直接在scala文件中显示任何错误。我的Scala版本是2.11,我已经在Eclipse中手动将Scala-swing-2.10.4.jar添加到我的构建路径中。如果我不这样做,Eclipse会抱怨它找不到Swing库 我的源代码的第一行如下所示: package filmreviews import scala.swing._ import event._ import javax.imageio.ImageIO import jav

我有一个名为GUI.scala的GUI类,Eclipse不会直接在scala文件中显示任何错误。我的Scala版本是2.11,我已经在Eclipse中手动将Scala-swing-2.10.4.jar添加到我的构建路径中。如果我不这样做,Eclipse会抱怨它找不到Swing库

我的源代码的第一行如下所示:

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)
在filmreviews.Gui$$anon$3。(Gui.scala:17)
在filmreviews.Gui$.top(Gui.scala:17)
在filmreviews.Gui$.top(Gui.scala:16)

这就是为什么我认为它与大型机对象的创建有关。这也可能与我如何将Swing库手动添加到构建路径有关。但是,我不知道是什么原因导致了错误,也不知道如何修复它

如果您使用的是Scala 2.11,则需要为2.11构建一个Scala swing版本。2.10.4与2.11不兼容

您可以在上找到兼容2.11版本的jar

或对于使用sbt的用户:

libraryDependencies += "org.scala-lang.modules" %% "scala-swing" % "1.0.1"

在我看来,scala集合库不在您的类路径中。您是否确保scala运行时jar文件是类路径的一部分?谢谢您的建议!另一个答案解决了这个问题。在我的类路径中,它显示“Scala库容器[2.11.4]”和“JRE系统库[JavaSE-1.7]”在引导条目下。据我所知,这意味着scala运行时是我的类路径的一部分。