title: How do I set environment-specific system properties with AppAssembler?
body: <p>I have an application that requires me to set a system property during startup, and the property must be different in each environment (i.e. one value in Dev, a different value in Prod).</p>
  
  <p>This is similar to <a href="https://stackoverflow.com/questions/8716030/specifying-system-properties-or-command-line-arguments-when-starting-a-daemon-cr">another unanswered question</a>, but that one asks specifically about daemons, and we are using <a href="http://mojo.codehaus.org/appassembler/appassembler-maven-plugin/usage-program-scripts.html" rel="nofollow noreferrer">Program</a> scripts.  The solution may be the same, though I did find hints that there may be special treatment for JSW daemons.  The unix template has a placeholder for <code>@ENV_SETUP@</code>, and <a href="http://mojo.codehaus.org/appassembler/appassembler-maven-plugin/assemble-mojo.html#environmentSetupFileName" rel="nofollow noreferrer">the documentation</a> says that environmentSetupFileName is for JSW only.  I would consider using environmentSetupFileName, but I can't find any more information on how to use it or how to get other scripts in the bin directory where environmentSetupFileName expects them to be.</p>
  
  <p>This seems like it must be a common problem, and I'm surprised the answer isn't easier to find. How can I set environment-specific system properties with AppAssembler?</p>