我有多模块maven项目,并希望自动化部分发布准备。在发布之前我增加了更改模块A的版本,因为我有模块B依赖于A,我还需要增加B的版本。我知道有"版本"和"发布" maven插件,但他们并没有级联版本的更新。是否有可能自动更新B版本?
一些补充说明: 我们不使用父模块的版本,因此我不需要更新它。
版本颠簸之前:
parent module (1.0)
|
|-- A module (0.01.00)
|-- B module (0.02.00)
版本颠簸之后:
parent module (1.0)
|
|-- A module (0.01.01)
|-- B module (0.02.01)
答案 0 :(得分:4)
release
插件具有update-versions
目标和autoVersionSubmodules选项,可将子模块版本设置为父项目版本。
用法示例here。
现在,如果您的子模块之间存在依赖关系(Module B
取决于Module A
),则它们不会被release
插件更新。
要解决此问题,您可以在${project.version}
Module A
Module B
中定义与pom.xml
的依赖关系时使用Module B
。
例如(在pom.xml
&#39; s <dependency>
<groupId>test</groupId>
<artifactId>module-a</artifactId>
<version>${project.version}</version>
</dependency>
中):
Module A
(这样可行,因为Module B
和{{1}}版本相同,并从父项目版本派生而来)