Maven IDE
As many developers do I use Eclipse as well. It's a very powerful IDE. There is a large number of plugins available and the community around the IDE is quite active. But Eclipse has some limitations when it comes to integrate Maven into it. There is a very good Maven2 plugin available, but when your project grows into a multi module project, then you'll learn about some limitations. You can work with Eclipse and Maven can generate your IDE configuration files (mvn eclipse:eclipse). But as Eclipse lacks true support for hierarchical projects, you have either check out each module as a project or you'll end up with workarounds.
What am I talking about? Think about this multi module project:
+- big-project +- src | +- site +- module1 | +- src | | +- main | | +- java | | +- resources | +- pom.xml +- module2 | +- src | | +- main | | +- java | | +- resources | +- pom.xml +- pom.xml
With Eclipse you would check out module1 and module2 and have mvn eclipse:eclipse generate the .project and .classpath files for you. The result is that you have two Eclipse projects, but you can't edit the pom.xml of the parent project, neither can you edit its site.
With the M2Eclipse plugin things are a bit better. You can checkout the whole project and the plugin's builder will dive into each module and read its pom.xml. It will even resolve the projects internal dependencies to the Eclipse workspace instead of looking them up in your local .m2 repository. But be careful. You should use the plugin built from source as the latest released version won't work very good for a multi module project.
But - and that's the workaround I was talking about - you will have to set up source folders for all your modules and that might create classpath conflicts. You might want to use a different log4j.properties file for unit tests and place that in your module's test/resources. If you make test/resources a source folder - you want that - and main/resources as well ... boom ... you'll up with two log4j.properties files and the first one found will win. Not good.
Apparently there are a few limitations as to what the developers of the M2Eclipse plugin can do about that for now.
Now there is an alternative. The Netbeans IDE, although not yet widely used, has undergone quite a metamorphosis in its life. If I remember right version 4 introduced Ant as the primary build system instead of creating a proprietary solution. The plugin Mevenide switches Netbeans to Maven2 as its primary build system.
I've just tried it for a few minutes. So that's not a real evaluation. But it looks very promising. Nice is as well the integration of Continuum so you can control it from within Netbeans.
