如何覆盖sbt的fork配置?命令行修改及自定义调试任务实现问询
方案1:命令行直接覆盖fork配置
无需修改build.sbt文件,直接在执行sbt命令时通过set参数临时调整配置,完全适配非交互式场景:
sbt "set fork := false" clean run
如果使用IntelliJ的sbt任务配置,直接把原有任务的内容替换为"set fork := false" clean run即可生效,不需要调整其他已配置的环境变量等参数。
方案2:在build.sbt中定义专用调试任务
如果希望保留独立的调试任务,直接在build.sbt中添加以下配置即可:
// 声明调试专用任务 lazy val debugRun = taskKey[Unit]("Debug run: execute clean and run with fork disabled") debugRun := (Compile / run).evaluated // 仅为该调试任务关闭fork,不影响原有run任务的默认配置 debugRun / fork := false // 任务执行前自动触发clean操作 debugRun := (debugRun dependsOn (Compile / clean)).value
配置完成后,命令行直接执行sbt debugRun即可实现等价于fork=false下的clean run效果,IntelliJ中也可以直接把原有sbt任务的内容替换为debugRun使用,原有配置的环境变量等参数无需改动。
内容的提问来源于stack exchange,提问作者vasigorc
相关产品推荐
相关产品推荐

