Bonjour,
Mon application est composée de 2 parties : un jar et un war qui font l'objet de deux modules Maven et d'un module parent comme expliqué sur cette page : http://maven.apache.org/guides/intro...o-the-pom.html.
Ma structure de dossiers est une structure à plat (i.e. le POM parent est au même niveau que les POM enfants) :
app-parent
my-app
my-webapp
Voici le code du POM parent :
Lorsque j'effectue une nouvelle release de mon appli, je souhaiterais ne pas avoir à mettre à jour la version du POM parent dans les POM enfants.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12... <groupId>com.mycompany.app</groupId> <artifactId>app</artifactId> <version>1.0</version> <packaging>pom</packaging> <modules> <module>../my-app</module> <module>../my-webapp</module> </modules> ...
C'est pourquoi j'envisageais d'utiliser la variable ${project.version} comme expliqué dans le paragraphe "Project Interpolation and Variables" de la page web déjà indiquée.
Par exemple voici, le code du pom.xml de my-app :
Or, avec cette configuration, lorsque je lance un mvn clean install, Maven sort l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 ... <parent> <groupId>com.mycompany.app</groupId> <artifactId>app</artifactId> <version>${project.version}</version> <relativePath>../app-parent</relativePath> </parent> <!-- Pas de version spécifiée car héritée du parent --> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> ...
Il semble donc que la variable ${project.version} ne soit pas interprétée au préalable et sa valeur injectée dans le POM enfant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Non-resolvable parent POM: Could not transfer artifact com.mycompany.app:app:pom:${project.version}
Auriez-vous une solution pour factoriser la déclaration de la version de mon application (et donc de tous les modules sous-jacents) au niveau du POM parent uniquement ?
Merci d'avance pour votre aide
Partager