sbt: 运行 来自命令行的特定主要方法

sbt: Running specific main method from the command line

我有几个用 @main 注释的方法,即使在彻底查看了 sbt 文档之后,它也完全击败了我如何 运行 专门从终端中使用其中一个方法。我所能找到的只是如何指定我的主 class 所在的源文件。虽然我的项目只包含一个文件,所以这并不是很有帮助。

假设我有以下内容(当然 root 是项目的根目录):

├── root
│   └── src
│       └── main
│           └── scala
│               └── main.scala

main.scala 看起来像这样:

object main:
  @main def foo(): Unit = ???
  @main def bar(): Unit = ???

从 shell 到 运行 foobar 的唯一方法是将我的方法分发到多个文件吗?

您可以 运行 SBT shell 中的任一方法通过:

runMain foo

runMain bar