测试运行在命令行中,斯卡拉-IDE失败

问题描述 投票:1回答:2

当用鼠标右键单击运行测试类,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项目。

原因是什么,以及如何可以把它固定?

Requested info

Java构建路径是

java build path

eclipse scala unit-testing scala-ide
2个回答
3
投票

你有_2.11库的组合和2.12.3 Scala库,this won't work。它看起来像_2.11 dependendencies来自SBT(从路径判断)。

您需要更改斯卡拉IDE的斯卡拉版本(setting correct scala version on scala ide介绍了如何)或set scalaVersion := "2.12.3"在SBT项目,然后重新运行sbt eclipse


3
投票

请使用Scala库版本2.11的其他基于Scala的依赖性比如Scala的XML和scalatest基于Scala库版本2.11

© www.soinside.com 2019 - 2024. All rights reserved.