Возможно ли, что вы обновили свой проект до Scala 2.12, но оставили зависимость от scala-compiler
2.11 на вашем пути к классам?
Ничего не изменилось в 2.12 по отношению к вашему коду.Чтобы ваш код работал, у вас должна быть зависимость от scala-compiler .
Вот проект SBT с Scala 2.11, без зависимости scala-compiler
:
name := "q53391593"
organization := "sk.ygor.stackoverflow"
version := "1.0-SNAPSHOT"
scalaVersion := "2.11.12"
Ваш код не компилируется: object runtime is not a member of package reflect
, object tools is not a member of package scala
, not found: value universe
Вам необходимо добавить зависимость на scala-compiler
:
name := "q53391593"
organization := "sk.ygor.stackoverflow"
version := "1.0-SNAPSHOT"
scalaVersion := "2.12.6"
libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value
Это приведет кдве дополнительные фляги на вашем classpat: scala-compiler:2.12.6:jar
и scala-reflect:2.12.6:jar
.Если вы не используете SBT, убедитесь, что вы включили их самостоятельно.
Также обратите внимание на использование scalaVersion.value
для указания версии библиотеки.Это предотвращает смешивание несовместимых версий библиотек Scala.