测试在命令行上运行,在 Scala 中失败-IDE

Test runs on command line, fails in Scala-IDE

当右键单击 运行 测试 class 时,Eclipse 失败并显示

Caused by: java.lang.NoClassDefFoundError: scala/Product$class
    at org.scalatest.time.Days$.<init>(Units.scala:291)
    at org.scalatest.time.Days$.<clinit>(Units.scala)
    at org.scalatest.time.Span$.<init>(Span.scala:585)
    at org.scalatest.time.Span$.<clinit>(Span.scala)
    at org.scalatest.tools.Runner$.<init>(Runner.scala:779)
    at org.scalatest.tools.Runner$.<clinit>(Runner.scala)
    at org.scalatest.tools.Runner.main(Runner.scala)
    ... 6 more
Caused by: java.lang.ClassNotFoundException: scala.Product$class
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 13 more

然而它 运行 在命令行中带有 sbt test。库已按照 .

中所述进行了更新

最新的 Scala IDE (4.7.0-vfinal-2017-09-29T14:34:02Z-Typesafe) 和来自 Coursera's scala course 的 patmat 项目发生了这种情况。

是什么原因造成的,如何解决?

请求的信息

Java 构建路径是

请使用 Scala 库版本 2.11,因为其他基于 Scala 的依赖项,如 scala-xml 和 scalatest 基于 Scala 库版本 2.11

您有 _2.11 个库和 2.12.3 个 Scala 库的组合,this won't work。看起来 _2.11 依赖项来自 SBT(从路径判断)。

您需要更改 Scala IDE 的 Scala 版本(setting correct scala version on scala ide explains how) or set scalaVersion := "2.12.3" 在 SBT 项目中并重新运行 sbt eclipse