【问题标题】:Compile and execute Scala code at runtime在运行时编译和执行 Scala 代码
【发布时间】:2011-09-19 21:35:45
【问题描述】:

是否可以在运行时在 Scala 或 Java 中编译和执行 scala 代码作为字符串?

我的想法是使用 Scala 构建 DSL,然后让 Java 程序员在 Java 中使用 DSL。

我听说 scala.tools.nsc.Interpreter 类可以做类似的事情,但是当我将它导入到我的 scala 文件中时,我得到“对象工具不是包 scala 的成员。”

那么有人可以给我一个提示吗?

【问题讨论】:

  • 您需要将 scala-compiler.jar 添加到类路径中。
  • 感谢您的快速回复。顺便说一句,我正在 Eclipse 环境中编码。那么我是否需要下载 scala-compiler.jar 然后将其添加到构建路径中?我在哪里可以找到 scala-compiler.jar?
  • 除了tenshi answer之外,this 应该可以帮助您提供解释器用法的示例。
  • @Peter:是的,没错。在此处获取您的 scala 版本:scala-lang.org/downloads。然后解压并查看 lib 文件夹。我还建议您查看sbt。听说最近eclipse的集成有所改进。

标签: scala interpreter dsl


【解决方案1】:

在 2.10.0 中,我们公开了 Scala 反射 API,其中包括运行时编译工具。更多细节可以在这里找到:Generating a class from string and instantiating it in Scala 2.10。

【讨论】:

    【解决方案2】:

    我推荐你twitter-util的Eval

    【讨论】:

      猜你喜欢
      • 2022-07-15
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      相关资源
      最近更新 更多