我有一个像一堆项目:您可以继承Maven中父POM的版本吗?
project1
project2
project3
........
project111
每个项目在罐子编译:项目1.1.1.1.jar,.... 是否有可能在父文件夹中添加的pom.xml,所以我可以定义版本1的所有项目的时间?
我有一个像一堆项目:您可以继承Maven中父POM的版本吗?
project1
project2
project3
........
project111
每个项目在罐子编译:项目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中设置它并使用发布插件来标记,增加和释放项目可能会更好。
但是,你是否用'-D'在命令行上设置了'my-project-version'? – oberlies
我没有,如果我没记错的话。但它确实需要父母已经以正确的相对路径检出。 –
不幸的是,这个解决方案根本无法使用Maven 3.0.4 – cbaldan