Maven进程类,只处理由编译器更改的进程:compile

时间:2012-06-04 11:20:01

标签: java maven maven-plugin

我编写了一个maven mojo,它对由文件集指定的一组java类进行了就地JavaFlow检测。也就是说,srcfile = destfile。

插件在进程类阶段触发。

如果我做一个mvn干净安装,这很好。 但是,如果我在mvn clean install之后执行mvn安装,它会再次运行处理,即使没有类文件发生更改。在我的情况下,这非常非常糟糕...... :(

由于我已经进行了检测,因此我无法真正使用文件时间戳。

我需要一些方法来告诉我的mojo只运行由编译器重新编译的文件:compile ...任何想法?

1 个答案:

答案 0 :(得分:2)

我尝试使用StaleSourceScanner,但它没有按照我想要的方式工作。

所以我最终在检测后对文件做了校验和,并在下一个构建步骤中检查它们。

作为一项额外的安全措施,我修改了JavaFlow源代码,这样如果一个类被检测两次,就会抛出异常。

编辑:实际上,现在我使用ASM检查班级是否已经过检测......如果有,请不要检测。没有校验和了。