| [news.eclipse.technology.m2e] Re: multiple maven modules in one eclipse project |
Nick,
[1] https://issues.sonatype.org/browse/MNGECLIPSE
-- Regards, Igor
Igor,
I didn't intend initially to list my (or company') problems because I've thought that initial purpose of this discussion was to find out what is going on in the world of Maven, Eclipse and m2eclipse.
Here is more detail information about one of the application that I need to find a reasonable solution without disruption of the development process.
The application in question has 17 top level projects in the Subversion based repository. Currently two of them are multi-module (in sense of Maven module)UML based that use AndroMDA to generate source code from the model. All projects can become a projects in the Eclipse workspace and currently I've tried to checkout them as multi-module Maven projects using the available functionality of m2eclipse plugin. Projects then became Maven-dependant.
The initial problem started when Maven (m2eclipse) starts buyilding projects in the workspace: AndroMDA Maven2 plugin for its execution requires JVM different from the JVM used by the application and made default to the Eclipse. Another problem with AndroMDA lies in fact that it generates the default implementors for the interfaces defind by the model and places them as additional source for implementation module of the project effectively into /target folder of Eclipse project (the location is configurable but it was chosen to be located in the sibling module of the MDA project - the decision can be argued but I can't change it by now). AndroMDA generator is smart enough to underestand the case when developer had replaced default generated implementor with its own - in this case the default implementor is not included.
Second problem appeared later when developer begin to change the code: m2eclipse perfroms its own build of the application and most of times calls the AndroMDA plugin for the second time, again with requirement of different JVM. Effectively, the project requires twice the time to build and during build the developer has nothing to do but wait. I reckon that this behaviour can be changed by not using functionality of the m2eclipse plugin to resolve the Maven dependencies with the Eclipse workspace - I think that was not the idea.
There are also minor problems with Web related projects - it took quite a lot of time to make them runnable with Tomcat within Eclipse.
I had lengthy discussions with the Application architect about these problems and possible ways to resolve them and he wrote: "I do not like the idea that the Eclipse Maven plug-in is dictating the way our projects are structured. I also explained that the core technologies (ergo Java, J2EE, Spring, Maven, AndroMDA, Subversion etc) are what we are working to and that workarounds (like running Maven tasks from the command line) are acceptable." At the moment I do not have feasible solution(s) to all these issues mentioned above. I'll have in a short time another project that uses the similar structuring but currently is based on Maven1. There will be the migartion to Maven2 and it may be possible to find and validate the solution that can be implemented by other applications as well.
Sorry, message appeared to be wordy and, probably not interested to the community. If so, I'll still be interesting in finding solutions and will be happy communicate out of the news portal.
Regards, Nick