当我尝试在eclipse中运行scalafx代码时,为什么还要在main处继续获取java.lang.NoClassDefFoundError?

时间:2017-04-10 08:07:04

标签: eclipse scala javafx scalafx

我需要帮助这个非常简单的例子。如果没有收到这个恼人的错误消息,我无法运行它

Exception in thread "main" java.lang.NoClassDefFoundError:
scalafx/application/JFXApp$class
    at HelloScalaFX$.<init>(HelloScalaFX.scala:6)
    at HelloScalaFX$.<clinit>(HelloScalaFX.scala)
    at HelloScalaFX.main(HelloScalaFX.scala)
Caused by: java.lang.ClassNotFoundException: scalafx.application.JFXApp$class
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
import scalafx.application.JFXApp
import scalafx.application.JFXApp.PrimaryStage
import scalafx.scene.Scene
import scalafx.scene.control.Label

object HelloScalaFX extends JFXApp {
    stage = new PrimaryStage {
        scene = new Scene {
            content = new Label {
                text = "Hello ScalaFX"
            }
        }
    }
 }

1 个答案:

答案 0 :(得分:0)

所以,根据经验,我可以诚实地说,如果你按下eclipse上的运行按钮,你应该得到一个弹出窗口,通常会要求一个类运行。如果没有尝试并右键单击您的eclipse编辑器(您编写代码的地方),请运行,检查选项并选择运行配置。此时,您将看到您的主类是什么以及您想要运行的文件。主类通常以文件所在的包的名称开头...如果你没有命名它,它可能是默认的,然后是类的点名,就像这样你的情况就是HelloScalaFx ...如果你这样做没有看到它写,那么你可以手动输入。 。 如果这也失败了......请确保您的代码包含包名!设置完这些配置后,您应该可以运行该程序。