我有很多项目,如:
project1
project2
project3
........
project111
每个项目都在jar中编译:project-1.1.1.1.jar,.... 是否可以在父文件夹中添加pom.xml,以便为所有项目定义版本1时间?
答案 0 :(得分:32)
如果省略<version/>
,它将从父级继承。但是,<parent/>
元素必须包含父级的<version/>
,因此版本必须出现在每个POM中,但只能出现一次。
答案 1 :(得分:23)
你可以这样做:
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>
至少,这对我有用。
答案 2 :(得分:6)
使用属性并引用它有效......除非您使用发布插件执行发布,在这种情况下,它会从版本中删除“-SNAPSHOT”并自动用实际版本号替换所有实例 - 这会覆盖任何替换你设定的变量。您可能最好只在每个POM中设置它并使用release插件来标记,增加和释放项目。