I'm working in the company that developes and delivers financial J2EE
applications that consist of dozen separate parts developed sometimes in
different locations.
The most of applications use AndroMDA to generate Java source code from
UML and use Maven to perform the build. The average application consists
of 10-15 separate Maven multi-module projects where individual module is
used to generate single artefact that later will be used as a dependancy.
For the developer is not unusual to checkout more than one multi-module
project from the repository and sometimes perform the maven builds both
from the command line and from the Eclipse.
The individual projects may vary from simple user interface (basically
HTML or JSPs) to the projects that implement the data access and business
logic both as online application and Web service. All these projects
usually are stored as individual entity in the source repository and
checked out as a whole Eclipse project. They also have their own release
activity.
Projects that use AndroMDA to create the code from UML usually consist of
threeparts: 1) code that implement data access to the underlying data base
(Hibernate was selected as basic framework and is extended with company'
specific features) - this code is never changed by developer; 2) DAO
interface layer that provides the implementation of the abstracts of the
data access layer - source code for this module consists of code generated
by AndroMDA and code added by developer to implement application
specifics; 3) it may be one or more additional modules that contain
developed code that implements required functionality. Some of challenges
we have have been discussed earlier [1] but I'm still looking for better
solutions for the intergration of Maven and Eclipse.
This structure is fully supported by Maven in batch mode and our
developers would like to more support of the straightforward Maven
functions in the Eclipse environment. The developer team uses outdated
version of the m2eclipse for which they developed some workouts around
Maven-Eclipse integration problems. Functionality implemented in m2eclipse
0.9.x does not bring a lot of help because it does not fully follows the
Maven phlosophy of the builds. At the moment m2eclipse is used only as
Eclipse classpath builder.
I would like to see the further steps for the successful integration of
the Maven into Eclipse in such a way that main Maven principles will stay
unchanged.
I hope that my input will help m2eclipse developers to understand better
the structure of the possible projects and challenges that companies have.
Regards,
Nick Sorokin
PS. I'll be happy to discuss further the problems of m2eclipse in real
development.