IDEA is surely the greatest thing since sliced bread. Maven is pretty darn good too. Why don't these two great tastes taste great together?
Most projects have more than one artifact, thus multi-module Maven builds are the norm. IDEA is very smart about handling projects with multiple *IDEA* modules. You hit CTRL-F9, and IDEA figures out which projects have had source changes since the last compile, those modules are compiled in order and no more.
Why doesn't IDEA do the same thing for Maven modules? What IDEA should do is determine which open Maven modules have source changes since the last installed version in the local repo, compile *and install* those artifacts in the local repo. (If intall doesn't occur, dependent modules will fail to pick up changes).
The current model is ridiculous, especially by IDEA standards. Developers have to follow in their minds which projects own the source files that have changed, carefully select those project's install targets, in order, and run them. I have a multi-module Maven build with ears, wars and Flex components with 30 Maven modules - for starters. The current model is unworkable. The workaround is to build everything or large swaths of everthing which takes forever (especially when working with Flex - no fault of IDEA's). Another workaround is to add Maven builds with -amd switch and -pl list, the options of which will change day to day or hour to hour depending on what you are working on (and there's no way to assign keystrokes to these build AFAICT).
Am I missing something or did IDEA miss the boat on Maven integration?
A quick fix would be an option in the Maven settings that default all Maven makes to do install instead of package, but smart time-checked dependency checking is the right thing.