When fighting Apache Maven...
We've all experienced it: Huge POM files to define a complex build and still... you're not satisfied with the results. You want more and it seems like Maven doesn't understand you, like it isn't listening. So you add yet another plugin and as soon as one things starts working something else breaks. These fights are common and the result is probably one of the following: you give up or just accept it, you share your frustrations locally or globally, or in the extreme you introduce another tool or script to workaround Maven or even drop Maven completely.
With Maven you get bounded flexibility and there's a philosophy behind it called The Maven Way(tm). A lot is possible, more than Google or Stack Overflow will show you, but you must understand a bit more about the underlying concepts. Once you see the light it all makes sense. And there is always an escape possible, ALWAYS!
In this session we'll first try to fight Maven by doing tasks quick and dirty before we see how it could be solved in a proper way. On top of that, can we prevent developers from trying it quick and dirty in the first place?