首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式调用scala解释器

以编程方式调用scala解释器
EN

Stack Overflow用户
提问于 2016-02-02 14:54:42
回答 1查看 452关注 0票数 3

我正在尝试使用以下代码以编程方式调用scala解释器

代码语言:javascript
复制
val settings = new Settings()
settings.usejavacp.value = true
settings.embeddedDefaults[Probe]
classPath.map(settings.classpath.prepend(_))
classPath.map(settings.bootclasspath.prepend(_))
settings.withErrorFn(err => println(s"error while compiling $err"))
val compile = new Global(settings)
val run = new compile.Run
val sourceFiles = run.compile("Test.scala")

Test.scala看起来像

代码语言:javascript
复制
class Test {
   println ("Hello World!")
}

build.sbt依赖关系看起来像这样

代码语言:javascript
复制
libraryDependencies ++= Seq(
  "org.scala-lang" % "scala-compiler" % "2.11.7",
  "org.scala-lang" % "scala-library" % "2.11.7",
  "org.scala-lang" % "scala-reflect" % "2.11.7"
)

并得到以下错误

代码语言:javascript
复制
[error] (run-main-1e) scala.reflect.internal.FatalError: class StringContext does not have a member f

我尝试了前置scala-reflect 2.11.7.jar和scala-library-2.11.7.jar,但似乎什么都不起作用

EN

回答 1

Stack Overflow用户

发布于 2016-10-28 19:29:38

删除settings.usejavacp.value = true,这应该会有帮助。

PS:不需要Probe,你可以直接使用settings.embeddedDefaults(getClass.getClassLoader)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35146911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档