我有两个项目:父项目:A,子项目:B
A/pom.xml中:
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
Run Code Online (Sandbox Code Playgroud)
在B/pom.xml中,我有:
<parent>
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
</parent>
<groupId>com.dummy.bla.sub</groupId>
<artifactId>kid</artifactId>
Run Code Online (Sandbox Code Playgroud)
我希望B从父级继承该版本,所以我需要放置的唯一位置0.1-SNAPSHOT是A/pom.xml.但是,如果删除了<version>0.1-SNAPSHOT</version>从B/pom.xml下父节,Maven的抱怨缺少的版本父.
有没有办法可以使用${project.version}或类似的东西,以避免01.-SNAPSHOT在两个poms?
我有一个多模块(聚合器)Maven项目,它也从父pom继承属性.所以在我的父pom.xml中我有这个:
<groupId>com.something.project</groupId>
<artifactId>MyProject</artifactId>
<packaging>pom</packaging>
<version>1.0.123</version>
<modules>
<module>ModuleA</module>
<module>ModuleB</module>
<module>ModuleC</module>
</modules>
Run Code Online (Sandbox Code Playgroud)
我想让所有子模块继承父版本号1.0.123,但是孩子pom.xml要求我继续硬编码父版本号(ModuleA pom.xml示例):
<artifactId>ModuleA</artifactId>
<name>Some Amazing Thing</name>
<parent>
<relativePath>../</relativePath>
<artifactId>MyProject</artifactId>
<version>1.0.123</version>
<groupId>com.something.project</groupId>
</parent>
Run Code Online (Sandbox Code Playgroud)
我怎样才能将版本号放在父pom中,让模块继承它而不必在多个地方更新它?到目前为止,我已经尝试了$ {project.version}和$ {project.parent.version},Maven似乎对此非常不满意.我也不能完全删除版本参考.
有没有人对此有一个好的答案?