Тест запускается в командной строке, не работает в Scala-IDE - PullRequest
0 голосов
/ 01 февраля 2019

При щелчке правой кнопкой мыши по запуску тестового класса 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) с проектом patmat из курса Scala Coursera .

В чем причина и как ее можно устранить?

Запрошенная информация

Путь сборки Java:

java build path

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

У вас есть комбинация _2.11 библиотек и 2.12.3 библиотеки Scala, это не будет работать .Похоже, что _2.11 зависимости происходят от SBT (судя по путям).

Вам нужно либо изменить версию Scala в Scala IDE ( установка правильной версии scala на scala ide объясняет как), либо установить scalaVersion := "2.12.3" в проекте SBT и выполнить повторно sbt eclipse.

0 голосов
/ 06 февраля 2019

Пожалуйста, используйте библиотеку Scala версии 2.11, так как другие зависимости, основанные на Scala, такие как scala-xml и scalatest, основаны на библиотеке Scala версии 2.11

...