it's possible to do it with m2 beta-1 and profiles.

you declare profile in your pom like this :

   <profiles>
     <profile>
       <id>env-test</id>
       <activation>
         <property>
           <name>env</name>
           <value>test</value>
         </property>
       </activation>
       <properties>
         <appProperties>test.properties</appProperties>
       </properties>
     </profile>
     <profile>
       <id>env-production</id>
       <activation>
         <property>
           <name>env</name>
           <value>production</value>
         </property>
       </activation>
       <properties>
         <appProperties>app.properties</appProperties>
       </properties>
     </profile>
   </profiles>

and you can run mvn with one of profiles like :
mvn -P env-production clean:clean install ==> we use the profile id
or
mvn -Denv=test clean:clean install ==> we use the property env define in
<activation>

Emmanuel

martin.kuhn@merkur.at wrote:
> Hi,
> 
> I'm a maven newbie and I try out maven 2.0 alpha 3.
> 
> My questions:
> 
> I have a project to build / deploy for three different enviroments (test, 
> integration, production).
> 
> The difference beetween the bundles is only a properties file (there are 
> three different files: config-test.properties, 
> config-integration.properties ...).
> In the build process I want to copy the right config file to a file with a 
> common name (config.properties -> the app should work with this config 
> file)
> 
> Is there a solution to handle this with maven 2 or do I have to write a 
> plugin?
> 
> 
