有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如果我更改依赖项列表,在Maven中增加主要版本号是java的最佳实践吗?

假设我有一个web应用程序和两个罐子。web应用程序依赖于A.jar,而A.jar依赖于B.jar

如果我让A.jar依赖于C.jar,那么A.jar现在应该是2.0版本吗?如果web应用程序作者不使用Maven,那么在不向项目中添加C.jar的情况下更新A.jar将破坏他的代码

或者反过来说,如果我删除了A.jar对B.jar的依赖,这也是一个主要的版本吗?如果作者以传递方式使用B.jar,并且未能在pom中显式声明依赖项。xml,则可传递的B.jar随A.jar更新的消失将中断他的程序


共 (1) 个答案

  1. # 1 楼答案

    If I make A.jar depend on C.jar should A.jar now be a 2.0 release?

    在不支持并行软件包版本的环境中,可传递的依赖关系会对系统管理员和产品支持人员造成特别脆弱和令人烦恼的产品间依赖关系问题。如果新的C.jar是semver rules (#8)下的一个主要(破坏性)更新,那么必须增加a.jar的主要版本号。如果是C.jar中的一个小改动或补丁,那么a.jar应该至少收到相同级别的bump,如果a.jar也包含比C.jar更高级别的改动,则会收到更多的bump

    Or conversely if I remove the dependency on A.jar has on B.jar will that be a MAJOR release as well?

    如果A.jar面向客户的界面中没有突破性的更改,则不会。但是,应该注意不要从具有其他依赖于B.jar的产品的系统中删除B.jar