【发布时间】:2012-06-08 11:20:12
【问题描述】:
我编写了一个 maven mojo,它对文件集指定的一组 java 类进行就地 JavaFlow 检测。即 srcfile = destfile。
插件在进程类阶段触发。
如果我执行 mvn clean install,效果会很好。 但是,如果我在 mvn clean install 之后执行 mvn install 它会再次运行处理,即使所有类文件都没有更改。就我而言,这非常非常糟糕...... :(
由于我进行了适当的检测,我也不能真正使用文件时间戳。
我需要一些方法来告诉我的 mojo 只在编译器重新编译的文件上运行:编译...有什么想法吗?
【问题讨论】:
-
位于 target/your-maven-plugin/.... 中的文件的校验和怎么样?
-
是的...那是我的备用计划... :( 现在我正在查看 StaleSourceScanner,它是编译器插件用来检测陈旧资源的工具。但无论我做什么我都可以'不能让它检测到任何陈旧的东西:(
-
你有没有看过 maven-compiler-plugin 它是如何在那里解决的......也许你可以拿代码?
-
是的,他们使用 StaleSourceScanner,但它似乎会在编译后更新其内部数据,所以对于我的插件来说它永远不会过时:/
-
我最终做了校验和的事情......希望它以后不会在我面前爆炸。如果您想要答案学分,请将其作为答案发布:)
标签: java maven maven-plugin