我有一个 ScalaTest 测试,我试图通过右键单击并单击 run as > ScalaTest File
来通过 Eclipse 运行它。但 Eclipse 告诉我Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1
at scala.tools.eclipse.scalatest.launching.ScalaTestLauncher.main(ScalaTestLauncher.scala)
Caused by: java.lang.ClassNotFoundException: scala.Function1
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
... 1 more
我不知道该怎么办。
我正在使用 Eclipse 的 Scala IDE 版本
版本号:3.0.4-2.11-20140723-2253-Typesafe
版本 4.3.0
我正在使用 Scala 版本 2.11.1
ScalaTest 版本 2.11-2.1.6
我通过 Typesafe Activator 程序获得了 Scala 和 ScalaTest,并从他们的 webapp 生成了 Eclipse 项目定义。 ScalaTest 插件来自 Scala IDE 网站。
最佳答案
我在 4.1.1-vfinal-20150727-1320-Typesafe
中收到此异常Scala IDE Eclipse 4.3.0
的构建.这是由于项目缺少 Scala 库造成的,尽管我将项目创建为 Scala 项目。我必须通过右键单击并选择 Add Scala Library to Build Path
来手动添加 scala 库。
在添加库之前,它看起来像这样:
添加库并运行 ScalaTest 测试后,它看起来像这样:
人们可能会猜到 Scala Library
当带有 Scala Nature
的项目时会自动添加是使用 Scala Project Wizard
创建的——至少我做到了。但是,情况似乎并非如此。如果这是一个设计选择,它可能已经完成,因为 Scala Library
经常被指定为项目的依赖项,而 IDE 添加的依赖项是不同的版本,导致令人惊讶的行为以及 IDE 对此效果的警告。如果这是基本原理,向导应提示用户做出决定并可能提供智能建议。
关于eclipse - ScalaTest Eclipse 插件说 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25300206/