How does a Maven plugin know when to re-run?

How does a Maven plugin know when to re-run when a clean isn't part of execution?

That is, when I do mvn install as opposed to mvn clean install, how does it know which files have changed and which plugins it should/shouldn't run?

I ask because I seem to have a troublesome plugin that seems to be missing some changes and I don't want to "recompile the world" every single time and I also don't want to have to actively think when to do a clean or not.


After some investigation I have found there is no universal way this is done. The general idea is that timestamps of sources and targets are compared, but some plugins aren't "smart" enough to know what the sources are.

The specific problem I was running into was the cxf-codegen-plugin not considering that the .wsdl files may depend on .xsd files. So if the .xsd file was modified, meaning the compiled code would change if it ran again, but it did not run the plugin.

Need Your Help

2D array elements not changing when assigned a new value?

c arrays pointers

I can not figure out why the values of voterFavorites are not changing here. Are arrays in c not referenced when returning from a function? I am planning on using voterFavorites in another method w...

Node.js hippie API testing module install

javascript node.js npm

I am trying to install hippie api testing module. However, I keep getting an error when I try to run a simple script with hippie.