如何用sbt编译一些文件?

时间:2012-11-30 14:34:07

标签: scala sbt

我和scala构建工具sbt相处得很好。如果您在代码中只有小问题,那很容易。

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

这是帮助系统......臭名昭着。

> help compile
Compiles sources.

是的,好吧。我猜对了。

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

这甚至可能无法实现(再次问候,make,从未放弃过你!)。至少我在互联网上找不到将sbt compile仅应用于单个文件的任何参考。

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

更新

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

保持这种状态一段时间,因为只编译一个文件(例如sbt compile filename之类的东西)并不是件坏事。

2 个答案:

答案 0 :(得分:5)

您可以定义一个Multi-Project Build,其中您要单独编译的文件将封装在项目中。根据文档,以下是可能的:

  

在sbt交互式提示符下,键入项目以列出项目和项目以选择当前项目。当您运行像compile这样的任务时,它会在当前项目上运行。因此,您不必编译根项目,只能编译子项目。

答案 1 :(得分: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