I have a strong aversion to custom build steps and generation of code. I do have to do it sometimes, but I don’t like it. 😉 If I generate a WAR for my application I should not need to generate a new one for each environment I need to deploy it in. Joris Kuipers has a good presentation here on how to achieve this in Spring. I have used some of the same mechanisms, but this takes it to a new level. Check link to the code in the comments beneath.