&
Wigwam looks interesting:
Say I were to check in to the revision control system a config file for my application server that included a connection to some.machine.com:3301 for some database. It would really screw up testing for the next developer who checked out that change to his own playpen, and needed the software to connect to hismachine.machine.com:3394. It would be worse if that change made it to the live running server application and broke it as a result.
Wigwam [solves this problem] by giving users standard places to store this type of information and standard methods for getting at it and using it for configuration.… This way, almost everything is tracked by the revision control system, and the difference between development, testing, and live installations of the project is minimized.
Other solutions to the same problem, as proposed on the javalanche listserv: environment-specific property files, JNDI, and Ant.