我GOOGLE了很多,現在完全卡住了。我知道,也有類似的問題,但請仔細閱讀。我嘗試了所有建議的解決方案,但都沒有工作。scala.tools.nsc.IMain Play 2.1內
我試圖在Play 2.1項目(使用Scala 2.10.0)中使用類scala.tools.nsc
。
控制器代碼
這是代碼,在那裏我嘗試在WebSocket的使用IMain
。這僅用於測試。
object Scala extends Controller {
def session = WebSocket.using[String] { request =>
val interpreter = new IMain()
val (out,channel) = Concurrent.broadcast[String]
val in = Iteratee.foreach[String]{ code =>
interpreter.interpret(code) match {
case Results.Error => channel.push("error")
case Results.Incomplete => channel.push("incomplete")
case Results.Success => channel.push("success")
}
}
(in,out)
}
}
當某些東西被過度WebSocket的發送下面的錯誤得到由播放記錄:
Failed to initialize compiler: object scala.runtime 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.
Build.scala
object ApplicationBuild extends Build {
val appName = "escalator"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
"org.scala-lang" % "scala-compiler" % "2.10.0"
)
val main = play.Project(appName, appVersion, appDependencies).settings(
)
}
我至今嘗試過
這一切都沒有工作:
- 我已經包含在
Build.scala
- 一個
Settings
對象fork := true
有:embeddedDefaults[MyType]
usejavacp.value = true
- 的soultion建議作爲答案問題Embedded Scala REPL inherits parent classpath
我不知道現在該做什麼。
你嘗試過簡單的東西一樣(新scala.tools.nsc.interpreter.IMain())。解釋( 「VAL X = 1」)匹配... – Iraklis 2013-05-12 20:40:30
@Iraklis肯定。我把它放在Global.scala的初始化代碼中。相同的錯誤消息。 – 2013-05-12 20:47:12
你可能也想看看我的答案[這裏](http://stackoverflow.com/a/23925201/3686016)關於這個問題。 – Aniket 2014-05-29 03:28:20