Исключение java.lang.NoClassDefFoundError: scala/коллекция/SeqLike в проекте Scala, который не относится к классу SeqLike — почему?

#scala

Вопрос:

Я использую проект Java 12 / Scala 12.3 https://github.com/dominique-unruh/scala-isabelle/ для переваривания исходного кода Isabelle-HOL. Это непростая штука. Но проект компилируется и тесты выполняются правильно.

Затем я импортировал Секст-библиотеку https://github.com/nikita-volkov/sext/ для красивой печати дерева объектов Scala (так как в Scala нет внутренних методов красивой печати или дерева toJSON) с помощью добавления в build.sbt

 libraryDependencies  = "com.github.nikita-volkov" % "sext" % "0.2.4"
 

Проект компилируется, но

 val ctxt = Context("Main")
println(ctxt.treeString)
 

выдает сообщение об ошибке:

 Exception in thread "main" java.lang.NoClassDefFoundError: scala/collection/SeqLike
    at sext.package$.SextAnyTreeString(package.scala:109)
    at de.unruh.isabelle.Example2theory$.main(Example2theory.scala:151)
    at de.unruh.isabelle.Example2theory.main(Example2theory.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.SeqLike
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 3 more
 

Когда я проверяю документацию по Scala 2.13 https://www.scala-lang.org/files/archive/api/2.13.5/scala/collection/ тогда действительно нет секвенции, 2.12, не так ли https://www.scala-lang.org/api/2.12.5/scala/collection/SeqLike.html

Но откуда этот раздел взялся в моем коде Scala, который компилируется под 2.13? Библиотека Sex также не относится к секстам. Как возможно, что такой класс необходим?

Комментарии:

1. Похоже, что библиотека sext очень-очень старая, не обслуживаемая, не перестроенная и не была должным образом опубликована. Я бы просто поискал альтернативу, эта библиотека просто создаст проблемы с несовместимостью версий Scala .

2. Похоже, что эта библиотека была скомпилирована на основе более старой версии Scala, возможно, вы сможете заставить ее работать, если используете Scala 2.12 (если нет, попробуйте 2.11). Но в долгосрочной перспективе вам может потребоваться попросить сопровождающих обновить его для правильной перекрестной компиляции или найти другую библиотеку.