[英]How to call the scala interpreter in a Simple Build Tool project?
我的 scala 程序正在使用 scala.tools.nsc.interpreter.IMain 的編譯器接口。 當我使用 scalac 進行編譯時,一切都按預期工作。 但是當我使用 sbt 編譯時,它仍然可以編譯,但在執行時,它會在 IMain 實例的解釋方法調用中拋出以下錯誤消息:
Failed to initialize compiler: object scala 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.
如果我在 IMain 實例上使用 settings.usejavacp.value = true ,則會收到以下異常:
java.lang.Error: typeConstructor inapplicable for <none>
我的 SBT 項目定義:
class Project(info: ProjectInfo) extends DefaultProject(info){
val scalaSwing = "org.scala-lang" % "scala-swing" % "2.9.0"
val scalaCompiler = "org.scala-lang" % "scala-compiler" % "2.9.0"
}
這里有什么問題? 以及如何在簡單構建工具項目中使用解釋器?
我正在使用Scala 2.9.0和Simple Build Tool 0.7.7
sbt console // Starts a Scala interpreter
這是新的常見問題解答(以前的答案已過時)
http://www.scala-sbt.org/0.12.4/docs/faq.html
您還可以找到最新版本的常見問題解答。
請注意, sbt console-quick
加載沒有依賴關系的控制台。
看看 SBT wiki: http://www.scala-sbt.org/0.13/docs/Faq.html#How+do+I+use+the+Scala+interpreter+in+my+code%3F
有一個關於讓解釋器運行的條目。
在更新的 sbt 版本(0.12 和更高版本)中,以下內容就足夠了:
fork in run := true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.