Hello,
We have been trying to determine the best way to build and deploy Rave based projects internally (in reality Maven 3 projects). Our current software migration process requires us to build a "generic" artifact of any application (without any environment specific properties) that can be deployed to any of our environments (dev, qa, prod, etc). The deploy process essentially retrieves the generic artifact and applies the environment specific settings (like urls to external resources, email addresses, LDAP urls, etc), and copies the environment-specific WAR to the appropriate server. The majority of our applications are Ant based and we have a neat home-grown Task that performs string token substitutions of our files which contain placeholders for the environment specific values. This lets us customize any file in our application (.properties, application-context.xml, web.xml, etc) during the deploy process. Our question is: how do we best do this for Maven 3 based projects? We need to build the "generic" artifact (which gets stored in our Software Repository application) and then apply the environment specific properties at deploy time. I know Maven supports profiles but these seem to be needed during the build/packaging phase, and would undoubtedly place an environment specific artifact in both the Maven repository and our internal artifact repository tool. Is it better to externalize all environment specific properties outside of the WAR? This seems like a problem that has already been solved and we are hoping the Rave community would have some experience in this area. Thanks, Tony
