Да вы правы. Если вы измените версию какой-либо зависимости, вам нужно будет снова собрать и выпустить родительский проект. Это создаст новую выпущенную версию вашего родительского модуля A.
(Здесь я предполагаю, что тип упаковки родительского модуля A отличается от pom. Если тип упаковки pom, то это совсем другая история.)
Отредактировано:
Когда вы говорите родительский проект, вы объявляете его упаковку как pom. Будет своя версия.
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>web-project</module>
</modules>
</project>
Вы также можете ссылаться на некоторые модули (дочерние проекты) в своем родительском объявлении pom.
<parent>
<groupId>com.mycompany.app</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
</parent>
<artifactId>web-project</artifactId>
<packaging>war</packaging>
Тогда для подмодулей нет необходимости объявлять для него какую-либо версию. Родительская версия будет перенесена в дочерний проект. Вы можете переопределить версию в дочернем проекте, но это не обычная практика. Таким образом, ваша родительская версия pom будет автоматически увеличиваться, когда вы выпускаете ее с помощью maven. И эта новая версия будет перенесена и на дочерние проекты (модули).
См. это - Наследование версии проекта Maven - нужно ли указывать родительскую версию?
Итак, родительский модуль A, я имел в виду вышеприведенный случай.
И репозиторий maven - может быть двух типов - локальный репозиторий и удаленный репозиторий. Локальное репо — это место, где maven ищет разрешения зависимостей. Это на твоей машине. Если maven не находит его там, maven извлекает эти зависимости из удаленного репозитория.
person
asg
schedule
15.08.2015