当右键单击运行一个测试类时,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在命令行中运行。这些库已按照java.lang.NoClassDefFoundError: scala/Product$class中的说明进行了更新。
这发生在最新的Scala IDE (4.7.0-vfinal-2017-09-29T14:34:02Z-Typesafe)和来自Coursera's scala course的patmat项目中。
原因是什么?如何修复?
请求的信息
Java构建路径是

发布于 2019-02-06 16:35:34
您拥有_2.11库和2.12.3 Scala库this won't work的组合。看起来_2.11依赖项来自SBT (从路径判断)。
您需要在SBT项目中更改Scala IDE的Scala版本(setting correct scala version on scala ide解释了如何更改)或set scalaVersion := "2.12.3",然后重新运行sbt eclipse。
发布于 2019-02-06 16:34:33
请使用Scala库版本2.11,因为其他基于Scala的依赖项,如scala-xml和scalatest都基于Scala库版本2.11
https://stackoverflow.com/questions/54475130
复制相似问题