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 :

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)
...
Il y a pas mal de dépendances un peu partout.
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):
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>
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.

Lorsque je lance un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mvn release:prepare -DdryRun:true
Tout est OK aussi... Pas d'erreur.

Etant donné que je travaille avec des snapshots, j'ai cru bon d'utiliser l'argument -DallowTimestampedSnapshots lors de l'invocation du plugin release :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mvn clean release:prepare -DallowTimestampedSnapshots
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).
Toute les dépendances sont correctement traitées, sauf celle du projet 2.2.

Le message d'erreur étant le suivant :
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
Pourquoi ce comportement pour les dépendances de type pom ?

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...