gpt4 book ai didi

scala - 在 SBT 中导入 scala.tools.reflect.ToolBox 时出错

转载 作者:行者123 更新时间:2023-12-02 20:16:03 27 4
gpt4 key购买 nike

我正在尝试在 SBT 中编译以下代码作为子项目的一部分。

package bitstream.compiler
package eval

import scala.reflect.runtime.universe._
import scala.reflect.runtime.currentMirror
import scala.tools.reflect.ToolBox

// Based on code from:
// https://gist.github.com/xuwei-k/9ba39fe22f120cb098f4
object Eval {

def apply[A](tree: Tree): A = {
val toolbox = currentMirror.mkToolBox()
toolbox.eval(tree).asInstanceOf[A]
}

}

这是我的build.sbt:

lazy val commonSettings = Seq(
organization := "com.bitbucket.example-project",
scalaVersion := "2.12.6"
)

lazy val root = (project in file("."))
.settings(
commonSettings,
version := "0.1.0-SNAPSHOT",
name := "example-project"
)

lazy val plugin = (project in file("plugin"))
.settings(
commonSettings,
scalacOptions += "-J-Xss256m",
name := "plugin",
libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value
)
.dependsOn(root)

libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.5" % Test
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value

我尝试使用 plugin/package 编译 plugin 子项目,但出现错误 object tools is not a member of package scala .据我所知,scala.tools 应该由 scala-compiler 依赖项提供。有什么我想念的吗?

最佳答案

scala.tools.reflect.ToolBox 在 scala-compiler.jar 中。尝试 libraryDependencies += "org.scala-lang"% "scala-compiler"% scalaVersion.value。 Sbt 不假定您将直接使用 scala-compiler.jar 中的类。 - 这记录在 https://www.scala-sbt.org/1.0/docs/Configuring-Scala.html

关于scala - 在 SBT 中导入 scala.tools.reflect.ToolBox 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52356161/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com