如果依赖项发生变化,我应该增加项目中的版本号吗?

Dan*_*iel 2 versioning maven

假设我有一个名为myLib-1.1.0的项目.该项目依赖于lib-dependency-1.2.3.

如果有这个依赖项的新版本,我需要使用它,我是否应该更改我的项目版本?没有对myLib进行其他修改.

同时,myLib是各种其他项目的依赖项.我主要担心的是,依赖性的微小变化可能会对上游产生影响.

Hil*_*kus 6

是.在maven中,发布的版本是不可变的.如果你发布了依赖于lib-dependency-1.2.3的1.1.0,那就是它.

如果您更改为依赖于lib-dependency-1.2.4那么这是一个新版本.你不应该重新部署1.1.0,因为有些人可能已经把它(假设是不可变的)1.1.0.所以这意味着你需要一个不同的版本,即使它只是一个新的限定符(例如myLib-1.1.0-RC-2,但更好的只是1.1.1)

Maven在本地存储库中没有重新检查发布版本的远程存储库,因此如果有人已经在本地拥有1.1.0,则他们将无法获得新的固定版本1.1.0.

关于你的涟漪问题.上游项目应取决于可接受的最低版本.即如果上游项目本身对myLib-1.1.0没问题,因为它不需要(间接)lib-dependency-1.2.4那么它应该保持在1.1.0