maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jon Paynter <>
Subject Re: how to centralize configuration accross multiple modules
Date Tue, 05 Oct 2010 18:08:28 GMT
well it was a suggestion - do what you will with it.

But how would you implement this using the maven way?

given the following restrictions/requirements:
each environment has its own hostname and number of hosts (dev 1 host, qa 4
hosts, prod 8 hosts)
each environment has a different db connection string
each environment has its own set of passwords for accounts (db, unix, and
each environment has its own set of port numbers fo the various processes.
each environemnt has its own set of webservice urls.
and all of our j2ee processes have other application specific config values

Add to that, most of the config values change frequently as things evolve
and change.  we found its much easier to put all these values into a single
file,  edit one file, and run a build.  Granted this was with a morass of
ant scripts, but given the volume of changes, the .properties files worked
quite well.

On Tue, Oct 5, 2010 at 10:27 AM, Wayne Fay <> wrote:

> > For property values -- I setup a .properties file for each of our
> > environments with the default being 'dev'.  So for a default build, the
> dev
> > properties are used.  but when its time to build for QA or Production,
> you
> > add a cmd line argument accordingly:   mvn install -DenvType=QA
> IMO this is an anti-pattern for Maven usage. You should be able to
> build one single artifact in say Dev and then promote that same
> untouched/changed artifact through your various environments.
> Otherwise the artifact that gets QA'ed is not the same artifact that
> lands in Production... which defeats the purpose of QA.
> You should generally deal with these variances in the environments via
> JNDI or other mechanisms available in the platform (JavaSE/JEE or
> whatever container you're deploying into).
> Wayne
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message