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.