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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 src/main/ressources | messages.properties | platform.properties + production | platform.propertiesEt puis j'ai cherché un moyen plus "propre", plus simple de faire ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 src/main/ressources/commons | messages.properties src/main/ressources/development | platform.properties src/main/ressources/production | platform.propertiesCa ne fonctionne pas, les ressources par défaut (development) sont copiés par dessus les ressources production.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Y'a-t-il d'autres solutions ?
Merci.
Partager