Scala 在sbt运行任务中重定向标准输入/标准输出

Scala 在sbt运行任务中重定向标准输入/标准输出,scala,sbt,Scala,Sbt,有没有办法重定向sbtrun任务的stdin/stdout?我可以在Bash shell中这样做: sbt run < myfile.txt sbt运行运行

有没有办法重定向sbt
run
任务的stdin/stdout?我可以在Bash shell中这样做:

sbt run < myfile.txt
sbt运行
但不是从sbt控制台。这不起作用,例如:

> run < myfile.txt
>运行
您可以编写一个自定义的
runWithInput
任务,该任务通过运行一个新的JVM进程来完成此任务,该进程的输入将从参数文件重定向。
请参见和。

哎哟!是的,很明显我可以做到这一点,但我更希望有一个标准的方式,不涉及这种程度的黑客。我想不是:-(我不确定SBT在调用
run
时是否运行一个新进程-我认为它只是用编译的类创建了一个新的类加载器,并从同一个JVM运行。不确定是否可以重定向现有JVM中的标准输入。@axel22-请参阅
System.setOut
-这确实是可能的,我甚至将其用于单元测试输出。@axel22t一次。但仍然需要自定义任务。你是说
System.setIn
?是的,这是可能的。