title: Multiple CDI configuration profiles (devel, beta, qa, production) in one war?
body: <p>Having experience with the Spring DI applicationContext.xml way of declaring Dependency Injection I now try to figure out how to do the same with Java EE6 CDI.</p>
  
  <p>With Spring, I could ship my .jar with several configuration profiles like
  <em>unittest.xml, devel.xml, qa.xml, production.xml</em> and activate them using command line parameters or environment variables.</p>
  
  <p>With CDI, I could use @Alternative in <em>beans.xml</em> and properties in  of <em>web.xml</em> but there seems no way of shipping multiple beans.xml for different environments. </p>
  
  <p>I don't want to use Maven profiles/filters to produce 4-6 versions of my app although I understand that for some scenarios that would be the better solution (i.e. shipping ready build wars to customers - but I only use my wars internally so let's save compile time!)</p>
  
  <p>Preferably, I would also be able to load those configuration files from the file system so that they could be edited by the sysadmins without having to re-build the app.</p>
  
  <p>What is the Java EE6 way of having multiple configuration sets of dependencies and properties? </p>
  
  <p>If there is none, what are the recommended alternatives as of 2013? Using Spring? Seam? Guice? I saw mentionings of Apache DeltaSpike but they still seem alpha juding from the web page.</p>