Bonjour à tous,
Étant donné que je sèche depuis de début de la soirée là dessus... Je craque et de demande un peu d'aide. Le contexte du problème est le suivant : Je déploie maven sur un projet de 17 {sous*}-modules articulés de la façon suivante :
Il y a pas mal de dépendances un peu partout.
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 -- super-pom ---- projet 1 (package type pom) -------- sous-projet 1.1 (package type jar) -------- sous-projet 1.2 (package type jar) -------- sous-projet 1.3 (package type jar) ---- projet 2 (package type pom) -------- sous-projet 2.1 (package type jar) -------- sous-projet 2.2 (package type jar) ---- projet 3 (package type pom) -------- sous-projet 3.1 (package type jar) -------- sous-projet 3.2 (package type jar) -------- sous-projet 3.3 (package type jar) -------- sous-projet 3.4 (package type jar) ...
La plus intéressante est que le sous-projet 2.2 déclare une dépendance vers le projet 1 (qui est de type pom):
En compilation, test, installation et déploiement, tout passe impeccable. Les pom et les jar sont correctement créés dans le repository local, tout est normal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <dependency> <groupId>com.company.project</groupId> <artifactId>projet1</artifactId> <type>pom</type> <version>1.2.0-SNAPSHOT</version> </dependency>
Lorsque je lance un :
Tout est OK aussi... Pas d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mvn release:prepare -DdryRun:true
Etant donné que je travaille avec des snapshots, j'ai cru bon d'utiliser l'argument -DallowTimestampedSnapshots lors de l'invocation du plugin release :
Le plugin me demande d'acquitter toutes les versions (release + next) et lance un [clean, verify] sur tout le projet (sans doute avant de commiter).
Code : Sélectionner tout - Visualiser dans une fenêtre à part mvn clean release:prepare -DallowTimestampedSnapshots
Toute les dépendances sont correctement traitées, sauf celle du projet 2.2.
Le message d'erreur étant le suivant :
Pourquoi ce comportement pour les dépendances de type pom ?
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 [INFO] [clean:clean] Downloading: http://repo1.maven.org/maven2/com/company/project/projet1/1.2.0/projet1-1.2.0.pom Downloading: http://repo1.maven.org/maven2/com/company/project/projet1/1.2.0/projet1-1.2.0.pom [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to resolve artifact. Missing: ---------- 1) com.company.project.projet1:pom:1.2.0 Path to dependency: 1) com.company.project.sous-projet2.2:sous-projet2.2:jar:1.1.0 2) com.company.project.projet1:pom:1.2.0
J'ai bien sûr vérifié que le problème venait bien de là. En effet, au lieu de délcarer la dépendance sur le projet1, j'ai testé en déclarant à la place une dépendance sur les sous-projets du projet 1 (tous de type jar) et là... çà passe...
Quelqu'un a-t-il une idée ?
Merci beaucoup à tous ceux qui pourront m'apporter une réponse, un début de réponse ou une nouvelle piste où chercher.
Merci beaucoup.
Jean-Baptiste.
PS : Je n'ai rien vu dans la base de bug Jira qui ressemble à çà... J'en déduit donc que je dois mal m'y prendre...
Partager