如何使用Scala Plugin for Eclipse的noClassDefFoundError?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (37)

我使用Scala插件在Eclipse中成功实现并运行了几个Scala教程。然后突然我试着编译并运行一个例子,这个错误出现了:

Exception in thread "main" java.lang.NoClassDefFoundError: hello/HelloWorld
Caused by: java.lang.ClassNotFoundException: hello.HelloWorld
 at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)

在此之后,我无法再在Eclipse中运行任何Scala程序。我尝试清理并重建我的项目,关闭并重新打开我的项目,然后关闭并重新打开Eclipse。

Eclipse版本号3.5.2和Scala插件2.8.0

这是原始代码:

package hello

object HelloWorld {
 def main(args: Array[String]){
  println("hello world")
 }
}
提问于
用户回答回答于

如果你在尝试以Scala应用程序的方式运行时看到这一点,那么最可能的解释是你的项目没有编译,也没有生成类文件。请检查是否是这种情况:查看项目的输出文件夹中的hello / HelloWorld.class。

如果你的项目没有编译,那可能是因为你错过了一个错误(如果这个错误没有在Problems视图中报告,可能是一个错误,在这种情况下,请在Trac上打开一张票)或者因为你关闭了自动构建,而没有完成项目的手动构建。

用户回答回答于

解决方案1:删除你的对象的现有运行配置并创建一个新的

解决方案2:创建一个新对象并将所有代码剪切/粘贴到该文件中

扫码关注云+社区