Maven 递增依赖模块版本是否应递增父模块版本?

Maven 递增依赖模块版本是否应递增父模块版本?,maven,artifact,Maven,Artifact,我有一个父模块A,它的依赖项是模块B。如果我只是为了一个简单的bug修复而增加B的版本,这不会改变任何API或破坏任何东西,我还需要增加a的版本吗 例如: A:1.10.0 --> B:2.5.0 fixing B to 2.5.1 在这种情况下,Maven上的A依赖于B的较旧版本,因此,似乎增加A的版本也是有意义的;因此,我们必须: A:1.10.1 --> B:2.5.1 即使我们没有改变任何事情 这是正确的吗?是的,你是正确的。如果更改任何依赖项的版本,则需要再次生成并发布

我有一个父模块
A
,它的依赖项是模块
B
。如果我只是为了一个简单的bug修复而增加
B
的版本,这不会改变任何API或破坏任何东西,我还需要增加
a
的版本吗

例如:

A:1.10.0 --> B:2.5.0
fixing B to 2.5.1
在这种情况下,Maven上的
A
依赖于
B
的较旧版本,因此,似乎增加
A
的版本也是有意义的;因此,我们必须:

A:1.10.1 --> B:2.5.1
即使我们没有改变任何事情


这是正确的吗?

是的,你是正确的。如果更改任何依赖项的版本,则需要再次生成并发布父项目。这将创建父模块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>

4.0.0
com.mycompany.app

那么父模块A,我指的是上面的案例


maven repo可以分为两种类型:本地存储库和远程存储库。本地回购是maven寻找解决依赖关系的地方。这在你的机器上。如果maven在那里找不到,maven将从远程存储库中检索这些依赖项。

Hey@asg,想解释一下打包类型pom是什么意思吗?maven repo?当然。编辑了答案。
<parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>parent</artifactId>
    <version>0.1-SNAPSHOT</version>     
</parent>

<artifactId>web-project</artifactId>
<packaging>war</packaging>