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.properties
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>
Et 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
src/main/ressources/commons
| messages.properties
src/main/ressources/development
| platform.properties
src/main/ressources/production
| platform.properties
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>
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.