109 votes

'La version de 'dependencies.dependency.version' est manquante, mais la version est gérée dans le parent'

J'ai un projet maven qui contient plusieurs modules. Dans Eclipse (Juno, avec m2e) il semble compiler correctement. Mais lorsque je fais un install maven sur l'un des modules, la construction échoue immédiatement.

Pom parent :

  com.sw.system4
  system4-parent
  ${system4.version}
  pom
  Projet Parent System 4

    system4-data
     ...autres...

    0.0.1-SNAPSHOT
    3.2.3.RELEASE
    ... autres...

        org.springframework
        spring-core
        ${spring.version}
        runtime

    ... beaucoup d'autres ...

Pom enfant :

    com.sw.system4
    system4-parent
    0.0.1-SNAPSHOT

  system4-data

        org.springframework
        spring-core
        runtime

    ... beaucoup d'autres...

Lorsque je compile, j'obtiens la sortie suivante :

[ERREUR] La construction n'a pas pu lire 1 projet -> [Aide 1]
[ERREUR]
[ERREUR]   Le projet com.sw.system4:system4-data:0.0.1-SNAPSHOT (C:\work\eclips
e_workspaces\systemiv\system4-parent\system4-data\pom.xml) a 8 erreurs

[ERREUR]     'dependencies.dependency.version' pour org.springframework:spring-cor
e:jar est manquant. @ ligne 16, colonne 16

... autres omis pour plus de clarté ...

Je ne comprends pas pourquoi il ne tente même pas de compiler. J'ai essayé de supprimer la portée runtime du parent et de l'enfant, et cela ne change rien. S'il vous plaît aidez!

3voto

Terran Points 557

J'ai eu la même erreur, j'ai oublié d'ajouter les dépendances enfants dans le . Par exemple dans le pom parent :

            com.sw.system4
            system4-data
            ${project.version}

1 votes

Cela a fonctionné pour moi. Sur le pom.xml enfant, l'archétype maven 35 ne l'encapsule pas avec la balise . J'ai donc dû l'ajouter manuellement et en faisant mvn clean sur le projet, tout fonctionne bien maintenant. Merci

1voto

akapelko Points 980

Dans mon cas, j'avais la même dépendance répertoriée deux fois dans le même pom.xml. Assurez-vous qu'elle n'est utilisée qu'une seule fois.

1voto

oded Points 141

Pour moi, le problème était lié au classifier dans mon dependencyManagement, j'avais des dépendances du projet avec (et bien sûr ). J'ai supprimé de dependencyManagement ce qui a résolu le problème.

0 votes

Voici le problème pour moi : d'après ce que je comprends, si vous spécifiez un classifieur dans la gestion des dépendances, alors vous devez également le spécifier dans les dépendances.

1voto

winSharp93 Points 7124

Pour ceux qui utilisent le org.codehaus.mojo:flatten-maven-plugin : Assurez-vous de définir un flattenMode qui conserve le dependencyManagement si vous souhaitez toujours importer le pom (par exemple resolveCiFriendliesOnly). Sinon, le plugin supprimera la section dependencyManagement.

0voto

traeper Points 11

Vous devez construire le module parent avant de créer le module enfant.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X