您可以从Maven中的父POM继承版本吗?



我有一堆项目,如:

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

在jar中编译的每个项目:project-1.1.1.1.jar, ....是否有可能在父文件夹中添加pom.xml,以便我可以为所有项目定义版本1时间?

如果省略<version/>,它将从父级继承。但是,<parent/>元素必须包含父元素的<version/>,因此版本必须出现在每个POM中,但只能出现一次。

你可以这样做:

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>

使用属性并引用它是有效的…除非你使用发布插件来发布版本,在这种情况下,它会从版本中删除"- snapshot",并自动将所有实例替换为真实的版本号——这将覆盖你设置的任何替换变量。您最好在每个POM中设置它,并使用发布插件来标记,增量和发布您的项目。

最新更新