【问题标题】:The meaning of _root_ in sbtsbt中_root_的含义
【发布时间】:2018-12-14 20:55:29
【问题描述】:

我有两个独立的 Scala 项目。在这两个项目中,build.sbt 都有一行:

lazy val V = _root_.scalafix.sbt.BuildInfo

这两个项目包含多个项目,因此build.sbt 文件都是多项目构建。在我的研究中,我遇到了根项目的想法,我认为上述值中的_root_ 表示根项目。

我的问题是在其中一个项目中,sbt 无法解析lazy val V = _root_.scalafix.sbt.BuildInfo 中的符号scalafix。当我在这个项目中搜索 scalafix.sbt.BuildInfo 时,我可以找到相关的 jar,但 sbt 不知何故错过了它。据我所知,这两个项目几乎相同,但一个解决了scalafix,而另一个没有解决。

对于这两个项目,jar 似乎位于我 Mac 的以下目录中:

/Users/soft/.ivy2/cache/scala_2.12/sbt_1.0/ch.epfl.scala/sbt-scalafix/jars/sbt-scalafix-0.6.0-M19.jar!/scalafix/sbt

什么是_root_,我如何帮助 sbt 解析 scalafix

【问题讨论】:

标签: scala sbt


【解决方案1】:

我认为上述值中的 root 表示根项目。

不,这不是真的。

所有 sbt 文件都是 scala 代码,_root_ 与 scala 中的_root_ 含义相同。因此答案与What is the root package in Scala 相同。

据我所知,这两个项目几乎相同,但一个解决了 scalafix 而另一个没有。

问题很可能是缺少 sclafix 插件。

检查插件是否在project/plugins.sbt 中启用

addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.1")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 2014-01-21
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-01-15
    • 2014-10-08
    • 2015-10-04
    相关资源
    最近更新 更多