右键单击运行测试类时,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中的说明进行了更新。
这发生在带有Coursera's scala course中的patmat项目的最新Scala IDE(4.7.0-vfinal-2017-09-29T14:34:02Z-Typesafe
)中。
原因是什么,如何解决?
Java构建路径为
答案 0 :(得分:3)
请使用Scala库2.11版,因为其他基于Scala的依赖项(例如scala-xml和scalatest)均基于Scala库2.11版
答案 1 :(得分:3)
您拥有_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
。