首页 > 解决方案 > 如何以批处理模式运行以配置为前缀的 SBT 任务?

问题描述

在 SBT 交互模式下,我可以为任务添加配置名称(范围命令):

$ sbt
> compile
> Compile / compile
> Test / compile

我还可以在批处理模式下运行任务(非交互模式)

$ sbt compile

但运行

$ sbt Test / compile

给出错误

[info] Executing in batch mode. For better performance use sbt's shell
[error] Not a valid command: Test (similar: set, last, exit)
[error] Not a valid project ID: Test
[error] Expected ':'
[error] Expected '/'
[error] Not a valid key: Test (similar: test, testOnly, dist)
[error] Test
[error]     ^

如何在 SBT 中以批处理模式运行配置前缀任务?

标签: scalasbt

解决方案


要以批处理模式运行配置级任务,请尝试使用test:这样的前缀

sbt test:compile
sbt test:clean test:compile

或用引号包围

sbt "Test / compile"
sbt ";Test / clean; Test / compile"

我们也可以设置一次配置范围,然后所有后续命令都将限制在此配置范围内,如下所示

sbt ";set configuration := Test; clean; compile"

推荐阅读