We follow Stephen's path but build aggregation poms that only contain libraries so that our project POMs only depend on our libraries. For example if the war file needs the Apache Commons that we support in our development environment, the project will depend on the current version of ours-lib-commons.pom. This reduces the project poms to 5-6 dependencies that are almost always the same so it is easy to start a new WAR project.

This provides central control (only 3 developers) over what versions are used and the JAR file produced by the library pom is shared in Tomcat and has provided scope in the WAR project so the war files are really small with only our code and WEB-INF files included. This makes the developers life easy since the versions of libraries are settled once for each release and are not a PITA for the programmer.

This saves a lot of time when building and deploying since we use web services and lots of other big tool kits that can take a 20K of classes, jsps, etc. and turn it into a 20M monster.
We have about 10 library POMs and over 50 war file POMs.

Ron

On 29/03/2011 12:39 PM, Jörg Schaible wrote:
juranta wrote:

Well, we put all the versions in the parent pom. It makes the versions
easy to change from the project's perspective. You don't have to browse
through many files to see where the dependency is declared. Also, two or
more of the sub-project may have a dependency on a same artifact, and if
you put the version in the parent pom, you have the version in only one
place.
Same here. No version info in explicit dependencies.

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to