我编写了一个maven mojo,它对由文件集指定的一组java类进行了就地JavaFlow检测。也就是说,srcfile = destfile。
插件在进程类阶段触发。
如果我做一个mvn干净安装,这很好。 但是,如果我在mvn clean install之后执行mvn安装,它会再次运行处理,即使没有类文件发生更改。在我的情况下,这非常非常糟糕...... :(
由于我已经进行了检测,因此我无法真正使用文件时间戳。
我需要一些方法来告诉我的mojo只运行由编译器重新编译的文件:compile ...任何想法?
答案 0 :(得分:2)
我尝试使用StaleSourceScanner,但它没有按照我想要的方式工作。
所以我最终在检测后对文件做了校验和,并在下一个构建步骤中检查它们。
作为一项额外的安全措施,我修改了JavaFlow源代码,这样如果一个类被检测两次,就会抛出异常。
编辑:实际上,现在我使用ASM检查班级是否已经过检测......如果有,请不要检测。没有校验和了。