Структура проекта (все в той же версии 1.3.0
, которая является самой последней):
Parent
-childA
-childB
-childC
Родительский помпон:
<groupId>com.dev.bla</groupId>
<artifactId>Parent</artifactId>
<version>1.3.0</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dev.bla</groupId>
<artifactId>childA</artifactId>
<version>${project.version}</version>
</dependency>
</...>
Теперь мне нужно внести некоторые изменения только в childB
и не намереваться увеличивать версию Parent
(Нет?).
Так что теперь POM моего childB
выглядит так:
<parent>
<groupId>com.dev.bla</groupId>
<artifactId>Parent</artifactId>
<version>1.3.0</version>
</parent>
<groupId>com.dev.bla</groupId>
<artifactId>childB</artifactId>
<version>1.4.0</version>
<dependencies>
<dependency>
<groupId>com.dev.bla</groupId>
<artifactId>childA</artifactId>
</dependency>
</dependencies>
Теперь, когда я пытаюсь построить Parent
или childB
, он терпит неудачу, потому что он показывает (как я вижу из эффективного POM) версию childA
до 1.4.0
, которая не существует как childA
самое позднее 1.3.0
. Короче говоря, {project.version}
в Parent
переводится в 1.4.0
, в то время как, насколько я понимаю, он должен был быть переведен в 1.3.0
, только если childB
имеет родителя Parent
с 1.3.0
.
Чего мне не хватает?