Como usar o JSR-223 para obter o interpretador Scala no console sbt?
No console sbt, versão 0.13.5, versão Scala 2.11.1, posso obterjavax.script.ScriptEngine
para Scala:
scala> val engine = new javax.script.ScriptEngineManager().getEngineByName("scala")
engine: javax.script.ScriptEngine = scala.tools.nsc.interpreter.IMain@bf78a9
No entanto, não posso usá-lo:
scala> engine.eval("3")
[init] error: error while loading Object, Missing dependency 'object scala in compiler mirror', required by /usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar(java/lang/Object.class)
Failed to initialize compiler: object scala in compiler mirror not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.
scala.reflect.internal.MissingRequirementError: object scala in compiler mirror not found.
at ...
De acordo com o FAQ do SBT, Eu devo fazer mágica com umSettings
e depois passe para o meuInterpreter
construtor. No entanto, não estou criando diretamente umInterpreter
(e não está claro se estou criando indiretamente, pois o objeto do mecanismo é umIMain
)
Existe alguma maneira para o ScalaScriptEngine
trabalhar no console do SBT?