48 votes

M2E: La version est une copie de la version parente - Pourquoi est-ce un avertissement?

J'ai plusieurs projets Maven que chaque ont en commun certaines fonctionnalités ou au moins une commune de configuration/dépendances. J'ai extrait cette dans une commune pom.xml et puis modularlized plusieurs facettes, par exemple, la persistance, le Printemps des dépendances connexes, et ainsi de suite - tout dans leurs propres modules, qui héritent de ce parent POM.

Droit maintenant, "Commune" est la version 1.0.0 et j'ai "ProjectA" que je souhaite hériter d'elle. Je recevez le message d'avertissement:

Version double de la version parent

Je ne pas bien comprendre pourquoi c'est un avertissement. Je pensais que j'avais la possibilité d'omettre la version de mon projet POM afin d'hériter de la version. (Je le fais pour les modules communs - par exemple, la mise en commun de printemps ajoute de la commune de dépendances pour le Printemps des applications, et en fait, ProjectA fait hérite de communes du printemps.)

N'est-il pas juste que - une option? Si je change mon ProjectA version 1.0.1 ou 2.0.0 tout est bien.

56voto

Fabricio Lemos Points 1165

Son juste m2e d'essayer d'être intelligent parce que la version de l'élément (comme id de groupe) peut parfois être redondante et peut être héritées du parent POM, de sorte qu'il serait sûr de supprimer cet élément de votre enfant POM.

Mais parfois, ce n'est pas une redondance de l'information, comme lorsque le parent et l'enfant de projet ont des cycles de vie différents, et m2e devrait permettre à cet avertissement est désactivé. Malheureusement, il n'existe aucun moyen de le faire encore: http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01961.html

Mise à JOUR: Comme Duncan dit ci-dessous, dans les versions plus récentes, vous pouvez désactiver cet avertissement.

56voto

Duncan Points 22780

Les nouvelles versions de m2e (depuis 1.1) vous permettent maintenant de désactiver cet avertissement.

Préférences> Maven> Avertissements> Désactiver l'avertissement "La version est une copie de la version parente"

Rapport de bogue original: https://bugs.eclipse.org/bugs/show_bug.cgi?id=356796

2voto

DJDaveMark Points 309

Si cela vous ennuie vraiment, utilisez une propriété pour supprimer l'avertissement avec un tour de passe-passe rusé:

 <version>${api.version}</version>
<properties>
    <api.version>0.0.1-SNAPSHOT</api.version>
</properties>
 

mais tout ce que vous allez vraiment faire est de déplacer l'avertissement vers la sortie de la console:

 [WARNING] Some problems were encountered while building the effective model for [project]
[WARNING] 'version' contains an expression but should be a constant.
 

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