9

我与 sbt(Scala 构建工具)配合得很好。如果您在代码中只有小问题,那很容易。

现在,在添加了一个主要功能之后,我的大部分代码都被破坏了,我似乎对依赖关系的方式感到困惑。我可以帮助它,首先编译基本模块,但它似乎不允许我这样做。

它的帮助系统...臭名昭著。

> help compile
Compiles sources.

是的,嗯。我猜到了。

我想听到的是:我如何只编译 - 说 - src/module/A.scala

这甚至可能是不可能的(再次你好make,永远不会抛弃你!)。至少我在 Internet 上找不到任何sbt compile仅适用于单个文件的参考。

我在命令行提示符下使用 sbt,而不是 IDE。

更新:

是我的错。:/ 将一个源文件拆分为多个,但忘记将一个package子句复制到每个新文件。哎呀。

将保持打开一段时间,因为只编译一个文件(即类似的文件sbt compile filename)不会是一件坏事。

4

2 回答 2

5

您可以定义一个多项目构建,其中您想要单独编译的文件被封装在一个项目中。根据文档,以下是可能的:

在 sbt 交互式提示符下,键入 projects 以列出您的项目和 project 以选择当前项目。当您运行诸如编译之类的任务时,它会在当前项目上运行。所以你不一定要编译根项目,你可以只编译一个子项目。

于 2012-11-30T14:50:37.420 回答
1

我只想在这里提一下,我遇到了 sbt-compile-quick-plugin ( https://github.com/etsy/sbt-compile-quick-plugin )。它按照罐头上说的做,只需添加addSbtPlugin("com.etsy" % "sbt-compile-quick-plugin" % "1.3.0")到您的project/plugins.sbt,然后您就可以启动sbt并运行compileQuick /path/to/your/file

(见https://stackoverflow.com/a/46849619/1358677

于 2017-10-20T13:01:56.927 回答