SBT任务定义 - 如何使Task 在 Compile 之后触发

本文探讨了在SBT中如何在compile任务后自动触发其他任务,如copyWebResource,而无需显式调用。介绍了使用dependsOn和triggeredBy的方法,并讨论了triggeredBy可能的滥用问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接 https://stackoverflow.com/questions/17045860/sbt-apply-task-after-compile/17243926

在SBT任务定义中, 很容易定义一个在某个任务之前先执行什么, 使用 dependsOn 即可.

但是有个坏处就是调用的话, 需要调用新的定义后的任务名. 比如我定义task, copyWebResource.dependsOn(Compile) ,那么后面我就得调用 copyWebResource 这个任务.

我想要直接调用 compile 就可以触发 copyWebResource , 就是某个任务在 compile 之后触发该怎么做呢?

根据Stack Overflow上面的说法是, 可以使用 trigger by 但是很容易滥用所以不推荐, 试了一下确实是可以的. 具体代码如下: