Ressources multi environnement
Bonjour,
Maven suggère d'utiliser les profiles et "maven-antrun-plugin" pour gérer des ressources multi-environnement.
Voici comment j'ai procédé :
Code:
1 2 3 4 5
| src/main/ressources
| messages.properties
| platform.properties
+ production
| platform.properties |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<delete dir="${project.build.outputDirectory}/production" verbose="true" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>production</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<copy todir="${project.build.outputDirectory}" overwrite="true" failonerror="true" verbose="true">
<fileset dir="${project.build.outputDirectory}/production" />
</copy>
<delete dir="${project.build.outputDirectory}/production" verbose="true" />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles> |
Et puis j'ai cherché un moyen plus "propre", plus simple de faire ça :
Code:
1 2 3 4 5 6
| src/main/ressources/commons
| messages.properties
src/main/ressources/development
| platform.properties
src/main/ressources/production
| platform.properties |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <build>
<resources>
<resource>
<directory>src/main/resources/commons</directory>
</resource>
<resource>
<directory>src/main/resources/development</directory>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>production</id>
<build>
<resources>
<resource>
<directory>src/main/resources/commons</directory>
</resource>
<resource>
<directory>src/main/resources/production</directory>
</resource>
</resources>
</build>
</profile>
</profiles> |
Ca ne fonctionne pas, les ressources par défaut (development) sont copiés par dessus les ressources production.
Y'a-t-il d'autres solutions ?
Merci.