受到示例on the SBT github page的启发,我正在尝试将SBT交互模式中运行生成的stdout重定向到文件。
这是我失败的尝试:
> run #> file('/Users/dsg/temp/temp.txt') !
我在最后使用!
时都尝试过。我试过单引号和双引号。什么都行不通 - 它的行为就像省略#> file(...
一样,只会打印到stdout,没有创建文件。
答案 0 :(得分:10)
我不是SBT专家,但这似乎不是正确的功能。
> run
将其后面的所有内容解释为文件参数。 #>
似乎是sbt库的一部分,用于项目sbt文件,而不是在他们的提示符下。
解决这个问题,我退出sbt,并使用我的外壳执行此操作:
$ sbt "run" > run_output.txt
答案 1 :(得分:4)
不知道如何从sbt控制台执行此操作,但是从shell命令行可以通过以下方式捕获sbt输出:
sbt "test" 2>&1 > test.log
答案 2 :(得分:2)
这对我有用:
sbt | tee log.txt
答案 3 :(得分:1)
你可以试试这个。
sbt test >> "log.txt"