簡體   English   中英

如何在 Simple Build Tool 項目中調用 scala 解釋器?

[英]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.0Simple 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM