如何在sbt中实现多配置项的持续编译?
解决sbt多任务持续编译的问题
问题根源:sbt的
~(持续监听编译)命令会占用控制台的watch通道,同一时间只能运行一个watch任务。你之前的写法~IT/compile; ~Test/compile会先启动IT目录的持续编译,接着尝试启动Test目录的持续编译,这时候第一个watch还在运行,就会触发冲突报错:Tried to start new watch while channel, 'console0', was already watching 'IT/compile; ~Test/compile'
正确写法:把两个编译任务放到同一个
~后面,用sbt的命令分隔符;串联,执行以下命令:~; IT/compile; Test/compile这个命令会监听项目文件变化,每次变化都会依次执行
IT/compile和Test/compile,实现两个目录的持续编译。额外说明:如果需要让两个任务并行执行(而非串行),sbt默认不支持直接通过命令组合实现,需借助自定义任务或插件,但多数场景下串行执行已能满足需求。
内容的提问来源于stack exchange,提问作者Marcin Wisnicki
相关产品推荐
相关产品推荐

