web-dev-qa-db-fra.com

Pouvez-vous hériter la version du POM parent dans Maven?

J'ai un tas de projets comme:

project1
project2
project3
........
project111

Chaque projet compilé en jar: project-1.1.1.1.jar, .... Est-il possible dans le dossier parent d'ajouter pom.xml pour que je puisse définir la version 1 fois pour tous les projets?

24
user710818

Si vous omettez <version/> il hérite du parent. Cependant, le <parent/> l'élément doit contenir un <version/> pour le parent, la version doit donc apparaître dans chaque POM, mais une seule fois.

35
bmargulies

Tu peux le faire:

parent pom.xml:
<project>
  ...
  <version>${my-project-version}</version>
  ...
  <properties>
    <my-project-version>1.1.1</my-project-version>
  </properties>
</project>

child pom.xml:
<project>
  ...
  <parent>
    <relativePath>../parent/pom.xml</relativePath>
    <version>${my-project-version}</version>
  </parent>
  ...
</project>

Au moins, cela fonctionne pour moi.

24
Alexey Romanov

L'utilisation d'une propriété et son référencement fonctionnent ... sauf si vous utilisez le plug-in de publication pour effectuer des versions, auquel cas il supprime "-SNAPSHOT" de la version et remplace automatiquement toutes les instances par le numéro de version réel - qui écrase toutes les variables de remplacement que vous '' ve ensemble. Il vaut peut-être mieux le configurer dans chaque POM et utiliser le plug-in de publication pour baliser, incrémenter et publier votre projet.

6
Dan