在我们的项目中,我们对 compile 生成的 .class 文件进行了增强后处理。这个增强步骤实际上修改了生成的 .class 文件,然后覆盖它。
enhance <<= enhance triggeredBy (compile in Compile)
问题是 sbt 有一种称为增量重新编译的机制。它监视生成的 .class 文件。每次增强器覆盖生成的 .class 文件时,sbt 都会识别这些修改并在下一个编译命令中重新编译相关源。
对我们来说,重新编译是一项非常耗时的工作。我们想阻止 sbt 重新编译修改后的 .class 文件。这可能意味着让 sbt 只监视源更改,而不是输出更改。
我对此进行了一些搜索。但是我发现了一些关于这个的事情。现在我知道一个名为 Analysis 的特性可能负责从源文件到输出 .class 文件的映射。所以我向你们寻求帮助。
ps:我们可以通过将enhancement的输出放到另一个文件夹来解决这个问题,但不是首选。