Greetings All, I've been part of a team of happy Eclipse & Ant+(Some 'Glue') developer for many years, from which I now have replaced the Ant+(Some 'Glue') with maven..... I couldn't find any comprehensive articles on this, hence the email:
The default eclipse "flat" project structure is in direct contradiction to the default maven "hierarchy" structure. This seems to lead to the situation where "you're damned if you do, and damned if you don't". Firstly, when you stick with the default maven "hierarchy" structure all sorts of things automagically just work! Please don't pretend they all work with "flat"/"other" structure, they don't. No one can even speak on behalf of ALL plugin's and claim they do work. But, there's an awful lot of awesome "only works with default hierarchy" maven plugin's and tools because they make this simple assumption. The real problem is that these "awesome" plugins and tools are so valuable to development that you really really really should stick with the default maven "hierarchy" structure! On the inverse: Eclipse has been around for many years. It's comprised of some pretty awesome plugin's, tools yadda yadda yadda.... please don't say use netbeans or IDEA they're not the issue here. Eclipse does the opposite to maven, it expects a "flat" project structure.... and just like the Maven plugin's, if you deviate from this you start discarding awesome features within eclipse that you would consider mandatory for your development environment. One of the major problems with eclipse (and is not addressed on the maven website), is how a "hierarchy" structure works with your SCM (cvs or svn). This is something most would say is mandatory! If you checkout the parent, then you also checkout the modules contained within it. Then if you say "ok lets check out the modules now"... then you break the structure. The bottom line is that eclipse can't cope with specifically with the "parent" and "heirarchy" strucutre. You must checkout the whole parent with command line (or a different IDE) and mvn install the parent to the local repo.. then work on each module individually checked out in isolation. Unless someone can explain how I can checkout a parent with modules.. see each project (inc parent) as an eclipse project and run the parent goals inside the IDE.. then the best solution for eclipse & maven is. Hierarchy and complex/manual eclipse usage.
