scala.reflect.internal.FatalError: Paket scala hat kein Mitglied Int
Ich arbeite derzeit an einem Projekt mit Scala und Play Framework 2. Ich möchte zur Laufzeit etwas Scala-Code kompilieren und das Ergebnis vom Interpreter erhalten. Ich fand einige Beispiele im Internet und fand schließlich den folgenden Code:
package controllers
import play.api.mvc.{Action, Controller}
import javax.script.ScriptEngineManager
class Interpreter extends Controller {
val interpreter = new ScriptEngineManager().getEngineByName("scala")
val settings = interpreter.asInstanceOf[scala.tools.nsc.interpreter.IMain].settings
settings.embeddedDefaults[Interpreter]
settings.usejavacp.value = true
def index = Action {
Ok(views.html.interpreter())
}
def interpret(input: String) = Action {
implicit request => interpreter.eval("1 to 10 foreach println")
Ok("Got: " + input)
}
}
object Interpreter
Mein Problem ist, dass ich immer einen Fehler von @ bekomscala.reflect.internal.FatalError: "package scala does not have a member Int"
, wenn versucht wird, diesen Code auszuführen. Nach einigen Recherchen fand ich ähnliche Probleme, die in diesen Beiträgen beschrieben wurden:
Scala and Play 2.0 Plugins Update 0.38.437 ist erschienen
Scala Compiler-Fehler: Paket-API hat kein Mitglied materialiseWeakTypeTag
Meine aktuelle Scala-Version ist 2.11.4, also habe ich versucht, in meiner "build.sbt" -Datei zu einer anderen "scala-compiler" - und "scala-library" -Version zu wechseln, aber ohne Erfolg. Wie in den obigen Beiträgen erwähnt, handelt es sich wahrscheinlich um einen Fehler in Scala. Ich habe mich gefragt, ob jemand eine Lösung oder einen Workaround für das beschriebene Problem hat.
ielen Dank im Voraus für jede Hilfe oder Ratschläg